我正在开发 .Net/C# 网络应用程序,并且一直在使用基于 javascript 的日历来允许用户选择日期。这一直运行良好。
今天我更改了代码以包含母版页,从子页调用的日期选择器已停止工作,问题是返回日期的文本框不再有效,因为表单声明现在位于母版页上。
代码是
href="javascript:;" onclick="calendarPicker('form1.TBApplyDate');" title="Select Date from Calendar">Select
“错误行:1 错误:‘window.opener.document.form1.TBApplyDate’为空或不是对象”
我在网上看到了很多关于收集文本框客户端 ID 并以下面的各种排列方式传递它的示例,但我总是遇到同样的错误。
href="javascript:;" onclick="calendarPicker('ctl00_MainContent_TBApplyDate');" title="Select Date from Calendar">Select
href="javascript:;" onclick="calendarPicker(form1.<%=TBApplyDate.ClientID%>');" title="Select Date from Calendar">Select
任何人都可以就如何成功引用文本框提供任何帮助吗?
提前致谢。
最佳答案
这是因为元素 ID 被母版页“破坏”了
我建议使用 jQuery及其选择器可帮助您获取必要的控件
在 jquery 中你可以像这样获取一个控件:
$('[id$=myContrl]')
因此你应该能够做到这一点
<a href="javascript:;" onclick="calendarPicker($('[id$=TBApplyDate]'));" title="Select Date from Calendar">Select</a>
编辑: 你也可以试试这个
<a href="javascript:;" onclick="calendarPicker($('#<%= TBApplyDate.ClientID %>'));" title="Select Date from Calendar">Select</a>
关于javascript - 将 C# webapp 更改为使用母版页后,DatePicker 不再工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2319946/