调用模式窗口,将javascript代码放在aspx页中可以正常运行,但是将代码放在js文件中时报错: 无法设置未定义或 null 引用的属性“innerText” 引用路径没有错,因为可以弹出窗口,但是获取返回值时出错,代码如下:function ChooseUser() {
var getVaule = window.showModalDialog("ChooseUserPage.aspx", "", 'dialogWidth=' + 900 + 'px;dialogHeight=' + 600 + 'px;help:no;dialogLeft=' + 150 + ';dialogTop=' + 50);
if (getVaule != null) {
var obj = getVaule;
document.getElementById("<%=txtUserName.ClientID%>").innerText = obj.name; //这里报错,无法找到innerText
document.getElementById("<%=hidUserID.ClientID%>").innerText = obj.ID;
}
}
求解啊!
var getVaule = window.showModalDialog("ChooseUserPage.aspx", "", 'dialogWidth=' + 900 + 'px;dialogHeight=' + 600 + 'px;help:no;dialogLeft=' + 150 + ';dialogTop=' + 50);
if (getVaule != null) {
var obj = getVaule;
document.getElementById("<%=txtUserName.ClientID%>").innerText = obj.name; //这里报错,无法找到innerText
document.getElementById("<%=hidUserID.ClientID%>").innerText = obj.ID;
}
}
求解啊!
</script><input id="txtChooseUser" type="button" onclick="ChooseUser()" value="选择员工" />
这个txtUserName是INPUT吧,它哪来的innerText属性?应该是value属性。
<%%>
<%=%>
这样的脚本代码只能在当前ASPX文件下才能解析出来,如果放在普通的HTML,JS,TXT,XML是无法解析的必须要放在ASPX文件下
2. 有母版页,不能直接写控件id
3.那你的意思是这个没有解决办法吗? 有没有其他方法能实现的? 不用每一个页面都添加代码
<script type="text/javascript">
var SeverText1 = "<%= TxtUserName.ClientID %>";
var SeverText2 = "<%= TxtUserPwd.ClientID %>";
</script>
<script src="JS/calendar.js" type="text/javascript"></script>calendar.js
function ChooseUser() {
var getVaule = window.showModalDialog("ChooseUserPage.aspx", "", 'dialogWidth=' + 900 + 'px;dialogHeight=' + 600 + 'px;help:no;dialogLeft=' + 150 + ';dialogTop=' + 50);
if (getVaule != null) {
var obj = getVaule;
document.getElementById(SeverText1).innerText = obj.name; //这里报错,无法找到innerText
document.getElementById(SeverText2).innerText = obj.ID;
}
}
一定要在定义好JS变量后在进行引用JS文件,这样JS文件可以找到你定义好的变量