asp.net – Jquery datepicker弹出窗口在IE8的选择日期没有关闭
|
我有一个包含开始日期字段的Web表单。我把一个jquery的日期戳绑定到txt字段。现在,当我在FF中选择一个日期时,所选日期会填充在文本框中,并且日历弹出窗口关闭。但是,当我在IE8中做同样的事情时,选择的日期将填充在文本框中,但弹出窗口仍然打开。我也注意到,一旦在弹出日历中选择日期,就会生成脚本错误。 我正在使用jquery 1.3.2,jquery-ui 1.7.2和.NET 3.5。以下是我的代码示例: <script type="text/javascript">
$(document).ready(function() {
$("#<%=txtStartDate.ClientID%>").datepicker({
changeMonth: true,changeYear: true,showButtonPanel: true,showOn: 'button',buttonImage: '/_layouts/images/CALENDAR.GIF',buttonImageOnly: true
});
});
</script>
<div id="stylized">
<asp:ValidationSummary ID="vs" runat="server" CssClass="messages-error" HeaderText=" Action required before the form can be submitted." ForeColor="" ValidationGroup="sh" />
<div class="formrow">
<div class="ms-formlabel formlabel">
<asp:Label ID="lblStartDate" runat="server" CssClass="ms-standardheader" AssociatedControlID="txtStartDate">Start Date:</asp:Label>
</div>
<div class="ms-formbody formfield">
<asp:RequiredFieldValidator ID="reqStartDate" runat="server" ControlToValidate="txtStartDate" ErrorMessage="Start Date is a required field." Text="*" Display="Dynamic" ValidationGroup="sh"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvStartDate" runat="server" ControlToValidate="txtStartDate" ErrorMessage="Date must be in the format MM/DD/YYYY" Text="*" Display="Dynamic" ValidationGroup="sh" Operator="DataTypeCheck" Type="Date"></asp:CompareValidator>
<asp:TextBox ID="txtStartDate" runat="server"></asp:TextBox>
<span class="formMessage">ex. MM/DD/YYYY</span>
</div>
</div>
<div id="buttonrow">
<asp:Button ID="btnSubmit" runat="server" Text="Submit" CssClass="ms-ButtonHeightWidth" OnClick="Submit_Click" ValidationGroup="sh" />
<asp:Button ID="btnCancel" runat="server" Text="Cancel" CssClass="ms-ButtonHeightWidth" OnClick="Cancel_Click" CausesValidation="false" />
</div>
</div>
当我选择日期时,我在IE中得到的脚本错误: ‘length’为null或不是一个对象 WebResource.axd的 以下是从中抛出错误的代码: function ValidatorOnChange(event) {
if (!event) {
event = window.event;
}
Page_InvalidControlToBeFocused = null;
var targetedControl;
if ((typeof(event.srcElement) != "undefined") && (event.srcElement != null)) {
targetedControl = event.srcElement;
}
else {
targetedControl = event.target;
}
var vals;
if (typeof(targetedControl.Validators) != "undefined") {
vals = targetedControl.Validators;
}
else {
if (targetedControl.tagName.toLowerCase() == "label") {
targetedControl = document.getElementById(targetedControl.htmlFor);
vals = targetedControl.Validators;
}
}
var i;
for (i = 0; i < vals.length; i++) {
ValidatorValidate(vals[i],null,event);
}
ValidatorUpdateIsValid();
}
它发生在最后的for循环的.length上。 Vals为空,在前一个if / else中找不到。我已经通过javascript和if(typeof(targetedControl.Validators)!=“undefined”)返回false,然后if(targetedControl.tagName.toLowerCase()==“label”)也返回false。因此,长度为null或不是对象错误。 现在我不知道如果datepicker弹出窗口没有关闭在IE和WebResources.axd文件中的脚本错误是相关的错误,但我倾斜这样。任何人都可以告诉我为什么弹出窗口没有关闭? 解决方法这似乎是一个bug,但是在datepicker声明中添加这一行应该解决它:onSelect: function() {} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – applicationSettings和Web.config
- asp.net – 从SyndicationContent读取内容文本
- asp.net-vnext中的旧程序集引用错误
- ASP.NET CompareValidator问题
- asp.net-mvc – 在IIS Express上设置SMTP
- entity-framework – 为什么ASP.NET SPA模板会为所有请求实
- asp.net – 什么叫Page_Load,它是如何做的?
- asp.net-mvc – TextBoxFor中限制为2位小数
- asp.net – mvc大写模型与小写模型
- asp.net – gzip压缩在Windows Azure网站
- 使用ASP.NET MVC4 jquery/javascript捆绑
- asp.net-mvc – ASP.NET MVC中的Flat和Nested Vi
- asp.net-web-api – 尝试从asp.net web api自主主
- 字符串 – 自定义Asp.net MVC 3编辑器模板没有被
- 为什么我的IIS7应用程序池在从ASP.NET页面调用的
- asp.net – 如何接收JSON作为MVC 5操作方法参数
- asp.net-mvc – 在MVC3中下载Azure Blob文件
- asp.net – MSBuild / WebDeploy – 如何防止它删
- .net – 回发数据和视图状态数据之间的区别是什么
- asp.net-mvc-3 – MVC3 / Razor缩略图/调整大小图
