【发布时间】:2011-10-07 17:02:39
【问题描述】:
ASP.Net 3.5 应用程序。
日期选择器显示,当我尝试单击日期时,IE 8(我没有检查其他版本)抛出“长度为空或不是对象”错误。它将日期放在文本框中,但随后引发错误。当我点击日期选择器区域时,它会正确隐藏而没有任何错误。 FF 行为正常。
错误出现在生成的 webresource_3.axd 文件中的以下行(第 175 行)。当我取出所有 3 个验证器时,它工作正常。
var i;
for (i = 0; i < vals.length; i++) {
ValidatorValidate(vals[i], null, event);
}
页面代码:
头部引用
<scriptsrc="Scripts/jquery-1.6.2.min.js" type="text/javascript"></script>
<linkhref="Scripts/jquery.ui/jquery-ui-1.8.7.custom.css" rel="stylesheet" type="text/css" />
<scriptsrc="Scripts/jquery.ui/jquery-ui-1.8.7.custom.js" type="text/javascript"></script>
页面 HTML
<tableid="tbl_control" cellspacing="0" cellpadding="0" border="0">
<tr>
<td align="center">
<input name="ctl00$ContentPlaceHolder1$dtStartDate$txtDate" type="text" value="08/05/2011" size="12" id="ctl00_ContentPlaceHolder1_dtStartDate_txtDate" class="StandardText" />
</td>
<td align="center">
<span id="ctl00_ContentPlaceHolder1_dtStartDate_RegularExpressionValidator1" class="StandardText" style="color:Red;display:none;">Enter valid Date</span>
<span id="ctl00_ContentPlaceHolder1_dtStartDate_CompareValidator1" class="StandardText" style="color:Red;display:none;">*</span>
<span id="ctl00_ContentPlaceHolder1_dtStartDate_RequiredFieldValidator1" class="StandardText" style="color:Red;display:none;">Date should not be blank</span>
</td>
</tr>
</table>
javascript:ClientID 和 ResolveUrl 用于获取文本框 id 和图像路径。
<scripttype="text/javascript">
$(document).ready(function() {
$(".ui-datepicker-trigger").show();
$('#ctl00_ContentPlaceHolder1_dtStartDate_txtDate').datepicker({showOn: 'button',
buttonImage: '/Source/images/SmallCalendar.gif',
buttonImageOnly: true});
});
</script>
我还实现了以下内容,这导致了同样的问题: http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/
如果单击的日期和文本框中显示的日期相同,那么我没有这个问题。
谢谢
【问题讨论】:
标签: jquery asp.net datepicker