jquery UI DatePicker IE - 验证器干扰

时间:2011-10-07 17:02:40

标签: jquery asp.net datepicker

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/

如果单击并在文本框中显示的日期相同,那么我没有这个问题。

由于

1 个答案:

答案 0 :(得分:0)

关于this jQuery UI bug ticket的评论4指出了4个可能的解决方案。他们说第一个: “将一个空的onSelect事件添加到datepicker” 为他们工作。