我想在点击后禁用提交按钮。让我解释一下
表单提交验证使用ajax调用完成,并且使用提交按钮禁用
.attr("disabled",true);
如果响应为“失败”(即验证失败),则可以使用ajax响应中的.attr("disabled",false)
再次单击该按钮
这项工作在FF和chrome中绝对正常但是在IE8中按下按钮时,启用禁用的效果是可见的(点击时按钮是正常的,像禁用一样可见)。不要在IE8上暂时改变外观。
我甚至尝试了一些建议,例如使用.attr("disabled","disabled");
和.removeAttr("disabled");
来禁用和启用它。
代码段: -
$("#submitBtn").click(function(event) {
event.preventDefault();
$("#submitBtn").attr('disabled',true);
dataToPost = $("#Form").serialize();
$.ajax({
type: "POST",
url: 'FormValidation',
data: dataToPost ,
success: function(response){
if(response.status=='FAIL')
{
$("#submitBtn").attr('disabled',false);
//Some code
}
else{
/* submit the form to if validation is successful */
saveData(dataToPost);
}
答案 0 :(得分:2)
为什么不阻止点击行为,而不是禁用按钮? 一种方法是做类似的事情:
var waitingForAjax = false;
$('yourButton').click(function(e){
if (waitingForAjax) {
return false;
}
waitingForAjax = true;
// ajax call
});
然后在ajax上再次将waitingForAjax
设置为false
。
答案 1 :(得分:1)
不幸的是,如果你使用disabled属性,无论你尝试什么,IE都会将文本的颜色默认为灰色,带有一个奇怪的白色阴影...东西......但所有其他样式仍然有效。 : - /已回答here。