控件id正确呈现,但仍然得到javascript错误
control id rendered correctly but still getting javascript error
错误:
Microsoft JScript runtime error: 'ctl00_ContentPlaceHolder1_txtAdmDate' is undefined
代码:
<input ID="txtAdmDate" runat="server" readonly="readonly" type="text"
tabindex="23" clientidmode="AutoID" />
<a href="#" onclick="showCalendarControl(ctl00_ContentPlaceHolder1_txtAdmDate)">
<img border="0" src="images/SmallCalendar.jpg"
style="width: 20px; height: 20px" /></a>
Javascript: function showCalendarControl(textField) {
calendarControl.show(textField);
}
来源:
<input name="ctl00$ContentPlaceHolder1$txtAdmDate" type="text" id="ctl00_ContentPlaceHolder1_txtAdmDate" readonly="readonly" tabindex="23" />
<a href="#" onclick="showCalendarControl(ctl00_ContentPlaceHolder1_txtAdmDate)">
<img border="0" src="images/SmallCalendar.jpg"
style="width: 20px; height: 20px" /></a>
<标题>问题:虽然呈现的html源代码显示控件的id为ctl00_ContentPlaceHolder1_txtAdmDate,并且将相同的id传递给javascript函数,但会产生错误。我试过将clientidmode设置为Autoid和静态,但没有任何效果。需要你们的帮助来解决这个问题
标题>首先,它看起来像您在一个母版页或用户控制(因此名称混淆),在这种情况下,您不应该假设如何通过硬编码来混淆名称。如果您使用不同的母版页或将用户控件移动到另一个页面,那么这个混乱的名称可能会有所不同。要解决这个问题,请使用ClientID属性。
此外,您不能直接通过名称引用控件来让Javascript找到它,因为控件不是全局变量。相反,您可以使用document。getElementById查找控件的句柄。
<a href="#" onclick="showCalendarControl(document.getElementById('<%=txtAdmDate.ClientID%>')">
当你说:
showCalendarControl(ctl00_ContentPlaceHolder1_txtAdmDate)
你假设ctl00_ContentPlaceHolder1_txtAdmDate
是一个变量,但它不是一个变量,它只是一个DOM id
属性。你可以这样写:
showCalendarControl(document.getElementById('ctl00_ContentPlaceHolder1_txtAdmDate'))
将其转换为函数调用中的对象,或者您可以将ID发送给showCalendarControl
并让它将ID转换为对象:
onclick="showCalendarControl('ctl00_ContentPlaceHolder1_txtAdmDate')"
然后调整showCalendarControl
:
function showCalendarControl(textFieldId) {
var textField = document.getElementById(textFieldId);
calendarControl.show(textField);
}
相关文章:
- object响应时出现对象错误javascript
- 未捕获的语法错误:javascript对象上出现意外的标记ILLEGAL
- Phonegap-Android 4.4-html5音频长度错误(javascript和媒体插件)
- 未捕获的语法错误:javascript中出现意外的标记}
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- 未捕获类型错误javascript方法
- 将字符串返回到类型为“0”的输出字段;数字“;针对用户错误javascript
- 解析器错误(Javascript初学者寻找解决方案)
- IE 错误 .JavaScript 运行时错误:对象不支持属性或方法“preventDefault”
- appendChild 不是函数错误 (JAVASCRIPT)
- 错误 JavaScript 函数
- 而循环抛出错误JavaScript
- 意外的类型错误 - Javascript,多维数组
- 语法错误:Javascript 中的意外令牌/将数据发布到 Amazon s3
- 语法错误:Javascript 中缺少指数
- 错误“JavaScript 运行时错误:查找滚动位置时无法获取未定义或空引用的属性'scrollLeft'”
- 错误 JavaScript 循环数组
- 错误:Javascript 上的 [对象对象]
- IndexedDBShim.js错误:JavaScript运行时错误:在严格模式下不允许分配只读属性
- 在Evernote listNotebooks API上获取错误-Javascript/Node.Js