$(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();
});
});
});
这是e jQuery功能,它在FF和Chrome中完美运行,但在IE10中没有触发,而且无效的部分从$('.dateverification>input').each(function()...
开始我没有用dev工具或其他东西捕获任何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的结构也有问题..所以,如果你们中的任何人都知道我应该怎么做来调试这个,请响应。提前谢谢。
答案 0 :(得分:0)
我认为IE 10中的任何问题都会转移到IE 11中。我正在运行IE 11并且基于你给出的脚本和结构,它似乎对我有用。
这是我用过的小提琴。我尝试复制您展示的内容,将span
元素替换为您的label
元素,因为这是将要呈现的内容并移除CalendarExtender
,我认为无论如何都不重要
您确定您的选择器正在获得您期望的元素吗?
作为旁注,以下是存储jquery
个对象
var Members =
{
btnDisplayReport: $('#' + <%= btnDisplayReport.ClientID %>),
txtStartDateFrom: $('#' + <%= txtStartDateFrom.ClientID %>),
txtStartDateTo: $('#' + <%= txtStartDateTo.ClientID %>),
txtCompletionDateFrom: $('#' + <%= txtCompletionDateFrom.ClientID %>)
}
然后,您可以使用Members对象访问元素
$(document).ready(function(){
Members.btnDisplayReport.click(function(){
...
});
});