此代码阻止我的表单提交(仅在 chrome 中,适用于 IE 和 Firefox)
This code prevents my form from submitting (only in chrome, works in IE and Firefox)
我有这段代码,在我点击提交后,它只是禁用了我页面上的所有提交按钮和alla AJAX链接。我克隆单击的事件,以便服务器端我知道按下了什么提交。这在IE和Firefox上完美运行,但在chrome上它拒绝提交任何内容。似乎它阻止了提交,因为我看到克隆已正确插入 DOM 并且控制台中没有记录任何错误。
// Block all other submit and ajax requests. The subscribe users burron is avoided because it handles this by itself
$( 'input[type=submit]' ).not( '#ai1ec_subscribe_users' ).click( function() {
block_all_submit_and_ajax( this );
} );
// Disables all submit buttons after a submit button is pressed.
var block_all_submit_and_ajax = function( el ) {
// Clone the clicked button, we need to know what button has been clicked so that we can react accordingly
var $clone = $( el ).clone();
// Change the type to hidden
$clone.attr( 'type', 'hidden' );
// Put the hidden button in the DOM
$( el ).after( $clone );
// Disable all submit button.
$( '#facebook input[type=submit]' ).attr( 'disabled', true );
// unbind all click handler from ajax
$( '#facebook a.btn' ).unbind( "click" );
// Disable all AJAX buttons.
$( '#facebook a.btn' ).click( function( e ) {
e.preventDefault();
e.stopImmediatePropagation();
} );
}
编辑显然问题出在行上
$( '#facebook input[type=submit]' ).attr( 'disabled', true );
因为如果我评论它也可以在 Chrome 中使用。我正在使用jQuery 1.6(但它是一个wordpress插件,因此版本可能会有所不同)
有人知道出了什么问题吗?
当您的按钮被禁用时,表单不会提交 添加一个 setTimeOut 来更改胎面,我会工作类似
setTimeout(function() {
$( '#facebook input[type=submit]' ).attr( 'disabled', true );
},0);
即使以 0 作为超时时间,它也可以工作
没有看到 HTML 很难说。你可能想弄乱选择器。 您可以尝试多种操作:
$("#facebook [type=submit]").attr('disabled',true);
甚至
$("[type=submit]").attr('disabled',true);
因为也许您将其作为<button>
而不是<input>
?
$("#facebook button[type=submit]").attr('disabled',true);
相关文章:
- AngularJS$http.post没有'不适用于Chrome,仅适用于IE
- 如何调试遗留的javascript代码(适用于IE,但在Google Chrome中不正常)
- js不适用于Chrome,但适用于IE
- (PHP&JavaScript)a href添加按钮赢得'我不适用于Mozilla,但适用于IE和谷歌
- javascript代码适用于IE和Chrome,但不适用于Firefox
- html5 canvas 中的 OffsetX 适用于 IE、Safari、Chrome,但不适用于 Firefox
- .load() 适用于 IE 和 dreamweaver 预览版,但不能使用 opera 和 chrome
- IE 9 Javascript Window Variable 为 null.适用于IE 8
- Javascript / CSS不适用于IE 10,但适用于IE 8
- html 选择列表更改无法在谷歌浏览器上调用方法(适用于 IE)
- 此代码阻止我的表单提交(仅在 chrome 中,适用于 IE 和 Firefox)
- Jquery适用于IE以外的所有浏览器
- Fotorama - 适用于IE,Firefox,但不适用于Chrome(上传到服务器)
- JavaScript适用于IE,但不适用于Firefox和Chrome
- javascript 函数 - 传递给函数的变量适用于IE,但不适用于Firefox
- HTTPRequest to Node 服务器适用于 IE 8,但不适用于 IE 7
- Javascript window.print 适用于 IE 和 FF,但不适用于 Chrome(在旧版本中曾经如此)
- 两个几乎相等的jQuery函数;一个适用于IE,一个不适用于IE
- 寻找适用于IE的开发人员插件
- Firefox 中的 HTML 位置问题(适用于 IE 和 Chrome)