在UI上有一个输入按钮列表,然后提交表单。
新要求是点击后disable
按钮。我试过了
j("input.allowed-task").each(function() {
document.getElementById(j(this).attr('id')).disabled = true;
});
和
j("input.allowed-task").attr('disabled', 'disabled');
这一切在firefox,IE8,IE9上运行良好
但是当谈到IE7时,上述方法都不起作用。禁用该按钮后会忽略所有进程,因此表单甚至无法提交,实际上并不知道如何修复它。
BTW我们在jquery 1.4上,因此不支持.prop
答案 0 :(得分:2)
我建议使用提交事件而不是点击以便您可以确保抓住它,否则人们仍然可以通过按输入来提交。
$("#myform").submit(function(e){
// prevent default so that we completely control when the form submits
e.preventDefault();
var $form = $(this);
if ( !$form.data("submitted") ) {
// form hasn't been submitted yet, set flag, disable button, then submit the form.
$form.data("submitted",true);
$("#submitbtn").attr("disabled","disabled");
// obviously disable whatever you need to,
// you don't HAVE to disable it though because
// the flag and e.preventDefault will prevent
// them from submitting anyway.
this.submit(); // submits the form, bypassing this submit handler
}
});
答案 1 :(得分:0)
您似乎应该能够直接在代码中提交表单。
j("input.allowed-task").click(function() {
// disable all buttons
j("input.allowed-task").attr('disabled', 'disabled');
// submit the form
YOUR_FORM.submit();
return false;
});
答案 2 :(得分:0)
也许这就是你要找的东西:
j('input.allowed-task').click(function () {
// Disable the element
j(this).attr('disabled', 'disabled');
// Submit the form
j(this).closest('form').submit();
});
答案 3 :(得分:0)
replaceWith()
可用吗?
j("input.allowed-task").replaceWith('<input type="submit" disabled="disabled">');