【发布时间】:2013-11-07 16:04:20
【问题描述】:
$(document).ready(function () {
$('#ctl00_ContentPlaceHolder1_btnDisplayReport').click(function () {
if ((new Date($('#ctl00_ContentPlaceHolder1_txtStartDateFrom').val()) > new Date($('#ctl00_ContentPlaceHolder1_txtStartDateTo').val())) && $('#ctl00_ContentPlaceHolder1_txtStartDateTo').val() != "") {
alert("Start date cannot be greater than end date.");
return false;
}
if (new Date(($('#ctl00_ContentPlaceHolder1_txtCompletionDateFrom').val()) > new Date($('#ctl00_ContentPlaceHolder1_txtCompletionDateTo').val())) && $('#ctl00_ContentPlaceHolder1_txtCompletionDateTo').val() != "") {
alert("Completion start date cannot be greater than completion end date.");
return false;
}
});
$('.dateverification>input').each(function () {
$(this).change(function () {
temp = $(this).attr("id");
temp = temp.replace("txt", "lbl");
if ($(this).val()) {
$('#' + temp).show();
}
});
$('.xlink').click(function () {
temp1 = $(this).attr("id");
temp1 = temp1.replace("lbl", "txt");
$('#' + temp1).val("");
temp1 = temp1.replace("txt", "lbl");
$('#' + temp1).hide();
});
});
});
这是一个 jQuery 函数,它在 FF 和 Chrome 中完美运行,但在 IE10 中没有触发,并且不工作的部分从 $('.dateverification>input').each(function()... 开始我没有使用开发工具或我应该的东西捕获任何 javascript 错误意识到。基本上,我遗漏了一些东西,我无法让它适用于所有浏览器。 (在我的代码文件中也做了一个无缓存请求)
<tr>
<td style="width: 25%;">
<%= this.GetGlobalResourceObject("CourseCompletionReport.aspx", "Reports.CourseCompletionReport.StartDateFrom") %>
</td>
<td class="dateverification" style="width: 75%;">
<asp:TextBox ID="txtStartDateFrom" runat="server" SkinID="TextBoxNoneMandatory" autocomplete="off" contentEditable="false"></asp:TextBox>
<ajaxToolkit:CalendarExtender ID="defaultCalendarExtender1" Format="MMMM dd, yyyy" runat="server" TargetControlID="txtStartDateFrom" />
<asp:Label ID="lblStartDateFrom" runat="server" Text="x" class="xlink" ></asp:Label>
</td>
</tr>
这是部分之一 - 文本框 + ajax 日历 + 标签,如果 html 的结构也有问题。所以如果你们中的任何人知道我应该怎么做来调试这个,请回应。提前致谢。
【问题讨论】:
-
附带说明,永远不要写
$('#ctl00_ContentPlaceHolder1_btnDisplayReport').click(function () {.. 而是使用它的 CssClass 或 ClientID 作为选择器。它只是不可靠而且真的没有那么好。 -
我会记住这一点,感谢您的建议。
-
表示我对英语的理解程度很低。我的意思是没有缓存,已经编辑过了。感谢您注意到这一点。 Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
-
LOL 好吧,我应该猜到了:),不管怎样,你已经编辑了这个,我们可以删除这些关于“现金”的 cmets。
标签: javascript jquery internet-explorer-10