Javascript ajax单击“禁用提交”按钮,然后再次启用
大家好,我有这个功能,它的工作非常棒,但我得到一个小问题Javascript ajax单击“禁用提交”按钮,然后再次启用,javascript,ajax,Javascript,Ajax,大家好,我有这个功能,它的工作非常棒,但我得到一个小问题 $(document).ready(function(){ $("input[type='submit']").attr("disabled", false); $("form").submit(function(){ $("input[type='submit']").attr("disabled", true).val("Please wait."); setTimeout(function(){ $("inpu
$(document).ready(function(){
$("input[type='submit']").attr("disabled", false);
$("form").submit(function(){
$("input[type='submit']").attr("disabled", true).val("Please wait.");
setTimeout(function(){
$("input[type='submit']").attr("disabled", false).val("Submit");
}, 3*1000);
return true;
})
})
问题是,当我在一个页面中有两个表单时,它会更改所有提交按钮的值。我只希望该功能仅为单击的按钮激活,而不是为所有提交按钮激活
我希望你明白我的意思。我知道我需要修改函数中的一些内容,但我在这样做时遇到了一些问题 使用此引用当前提交的表单,然后可以使用。查找以获取该表单的子代提交输入:
还请注意,您可能更喜欢,除非您使用的是古老版本的jQuery。但您的问题是如何仅选择当前表单中的“提交”按钮?我的意思是,该函数应该只影响单击了“提交”按钮的表单。这就是$this.find应该注意的-它将查找作为已提交表单后代的输入,而不是页面上任何其他表单的任何输入
$("form").submit(function(){
const input = $(this)
.find("input[type='submit']")
.attr("disabled", true)
.val("Please wait.");
setTimeout(function(){
input
.attr("disabled", false)
.val("Submit");
}, 3*1000);
return true;
});