我想在点击后禁用提交按钮..让我解释如下
表单提交验证是使用 ajax 调用完成的,提交按钮是使用禁用的
.attr("禁用",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);
}
最佳答案
为什么不阻止点击行为,而不是禁用按钮? 一种方法是执行以下操作:
var waitingForAjax = false;
$('yourButton').click(function(e){
if (waitingForAjax) {
return false;
}
waitingForAjax = true;
// ajax call
});
然后在 ajax 失败时再次将 waitingForAjax
设置为 false
。
关于css - 一旦 IE8 问题,单击按钮后禁用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11347572/