Dre*_*mer 2 html javascript dojo
很奇怪,第一行工作正常,但第3行给我TypeError: dojo.byId(...).attr is not a function.隐藏的字段包含所有学生对,因为<input type="hidden" id="_hidden_studentname_{somestudentid}" value="aStudentName">,这里{somestudentid}仅指示它作为学生id变量.这样做的目的是尝试通过学生ID获取学生姓名.
dojo.connect(dijit.byId('_studentId_id'), 'onChange', function (val) {
var studentId=dijit.byId("_studentId_id").attr("value"); // line 1
var id="_hidden_studentname_"+studentId;
var studentName=dojo.byId(id).attr("value"); // line 3
dojo.byId("_student_text").attr("value", studentName);
});
Run Code Online (Sandbox Code Playgroud)
所以dojo不允许变量放入dojo.byId()?我很确定<input type="hidden">那个id确实存在......
注意你dijit.byId在第1行中的使用情况,但是dojo.byId在第3行中使用.前者返回一个小部件(它有一个attr函数),wheras dojo.byId返回一个DOM元素,它没有attr方法.
DOM元素可以直接操作属性,因此您可以更新要使用的代码something.value = 'some other value';.
dojo.connect(dijit.byId('_studentId_id'), 'onChange', function (val) {
var studentId=dijit.byId("_studentId_id").attr("value"); // line 1
var id="_hidden_studentname_"+studentId;
var studentName=dojo.byId(id).value; // line 3
dojo.byId("_student_text").value =studentName;
});
Run Code Online (Sandbox Code Playgroud)