0

我搜索了高低并没有解决方案。

我希望我的提交函数在用户单击提交按钮时处理该操作,并覆盖默认操作。Firefox 和 Chrome 工作完美,但在 IE9 中,单击表单按钮会导致页面转到 Default.aspx(我是使用 ASP.NET,并在本地主机上运行此代码)。

/////////////////Submit Function/////////////
 $('#ARBB').submit(function (event) {
     //e.cancelBubble is supported by IE - this will kill the bubbling process.
     event.cancelBubble = true;
     event.returnValue = false;

     //e.stopPropagation works only in Firefox.
     if (event.stopPropagation) {
         event.stopPropagation();
         event.preventDefault();
     }

     // initialize validator for a bunch of input fields
     var inputs = $("#Contact :input").validator();

     // perform validation programmatically
     //inputs.data("validator").checkValidity();

     $('#conf').load("/Confirmation.aspx");

     $.blockUI({ css: {
         border: 'none',
         padding: '15px',
         backgroundColor: '#000',
         '-webkit-border-radius': '10px',
         '-moz-border-radius': '10px',
         opacity: .5,
         color: '#fff'
     }
     });

     setTimeout($.unblockUI, 500);

     $("#accordion").accordion("enable");
     $("#accordion").accordion("option", "active", 3);
     $("#CheckMark3").fadeIn("fast");
     $('html, body').animate({
         scrollTop: $("#Section3").offset().top
     }, 500);

 });
 ///////////////////////////////////////////

编辑/更新

调用 load 函数时 IE9 抛出错误:

$('#conf').load("/Confirmation.aspx");

错误是:

SCRIPT5:访问被拒绝。

jquery-1.6.2.js,第 6244 行字符 2

4

4 回答 4

2

jQuery 库已经为您处理了浏览器的差异。您需要处理所有不同的浏览器是:

event.preventDefault();
于 2012-03-31T18:37:01.250 回答
1

您是否尝试在方法结束时输入 return false ?

$('#ARBB').submit(function (event) {
     //e.cancelBubble is supported by IE - this will kill the bubbling process.
     event.cancelBubble = true;
     event.returnValue = false;

     //e.stopPropagation works only in Firefox.
     if (event.stopPropagation) {
         event.stopPropagation();
         event.preventDefault();
     }

     // initialize validator for a bunch of input fields
     var inputs = $("#Contact :input").validator();

     // perform validation programmatically
     //inputs.data("validator").checkValidity();

     $('#conf').load("/Confirmation.aspx");

     $.blockUI({ css: {
         border: 'none',
         padding: '15px',
         backgroundColor: '#000',
         '-webkit-border-radius': '10px',
         '-moz-border-radius': '10px',
         opacity: .5,
         color: '#fff'
     }
     });

     setTimeout($.unblockUI, 500);

     $("#accordion").accordion("enable");
     $("#accordion").accordion("option", "active", 3);
     $("#CheckMark3").fadeIn("fast");
     $('html, body').animate({
         scrollTop: $("#Section3").offset().top
     }, 500);
return false;
 });
于 2012-03-31T19:05:44.163 回答
0

preventDefault()只为火狐和铬工作。试试这个代码:

if (event.preventDefault) { event.preventDefault(); } else { event.returnValue = false; }

此代码检查浏览器是否支持preventDefault使用它,否则执行第二部分。

于 2012-03-31T19:12:48.810 回答
0

显然,问题在于出现在我正在加载的页面顶部的一些 CSS 代码(Confirmation.aspx)。删除css代码后,我不再收到拒绝访问错误。

于 2012-04-01T16:28:08.640 回答