gpt4 book ai didi

javascript - 控件 id 正确呈现但仍然出现 javascript 错误

转载 作者:行者123 更新时间:2023-11-30 06:46:02 24 4
gpt4 key购买 nike

错误:

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);
}

html 渲染源:

<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 并将其传递给 javascript 函数,但生成错误。我尝试将 clientidmode 设置为 Autoid 和 static 但没有任何效果。需要你们的帮助来解决这个问题。

最佳答案

首先,您看起来像是在母版页或用户控件中(因此名称改写),在这种情况下,您不应该假设名称将如何通过硬编码进行改写。如果您使用不同的母版页或将用户控件移动到另一个页面,则这个损坏的名称可能会有所不同。要解决该问题,请改用 ClientID 属性。

此外,您不能直接通过名称引用控件来让 Javascript 找到它,因为控件不是全局变量。相反,您可以使用 document.getElementById 来获取控件的句柄。

<a href="#" onclick="showCalendarControl(document.getElementById('<%=txtAdmDate.ClientID%>')">

关于javascript - 控件 id 正确呈现但仍然出现 javascript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6814202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com