Javascript Dojo:TypeError:Dojo.byId(…).attr不是函数
奇怪的是,第一行可以正常工作,但是第三行给了我Javascript Dojo:TypeError:Dojo.byId(…).attr不是函数,javascript,html,dojo,Javascript,Html,Dojo,奇怪的是,第一行可以正常工作,但是第三行给了我类型错误:dojo.byId(…).attr不是一个函数。有一些隐藏字段保存所有学生对,这些学生对作为,这里{somestudentid}仅将其指示为学生id变量。这样做的目的是通过学生id获取学生姓名 dojo.connect(dijit.byId('_studentId_id'), 'onChange', function (val) { var studentId=dijit.byId("_studentId_id").attr("va
类型错误:dojo.byId(…).attr不是一个函数。有一些隐藏字段保存所有学生对,这些学生对作为
,这里{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);
});
所以dojo不允许将变量放入dojo.byId()
?我很确定带有该id的
确实存在….注意您是如何在第1行中使用dijit.byId
的,但在第3行中使用了dojo.byId
。前者返回一个小部件(具有attr
函数),wherasdojo.byId
返回一个DOM元素,该元素没有attr
方法
DOM元素可以直接操作属性,因此您可以更新代码以使用something.value='somether-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;
});
谢谢,太棒了!!我还使用dojo.html.set(dojo.byId(“\u student\u text”),studentName)
将学生姓名放入div内容。再次感谢,干杯。