Javascript 如何在jQuery中单击后禁用按钮
有时我可以触发提交按钮两次。ajax也会被触发两次 以下是我的html代码:Javascript 如何在jQuery中单击后禁用按钮,javascript,jquery,ajax,Javascript,Jquery,Ajax,有时我可以触发提交按钮两次。ajax也会被触发两次 以下是我的html代码: <div class="buttons-area"> <input id="step-two" class="btn btn-primary" type="submit" value="Next step »"> </div> 下面是我的ajax: <script> $(document).ready( function () {
<div class="buttons-area">
<input id="step-two" class="btn btn-primary" type="submit" value="Next step »">
</div>
下面是我的ajax:
<script>
$(document).ready( function () {
$('#step-two').on('click', function(e) {
e.preventDefault();
var formData = new FormData();
formData.append('username', $('#username').val());
formData.append('email', $('#email').val());
formData.append('password', $('#password').val());
formData.append('password_confirmation', $('#password_confirmation').val());
$.ajax({
url: 'registration',
method: 'post',
processData: false,
contentType: false,
cache: false,
dataType: 'json',
data: formData,
beforeSend: function()
{
$(".validation-error-inline").remove();
}
})
.done(function(data) {
if (data.validation_failed == 1)
{
var arr = data.errors;
$.each(arr, function(index, value)
{
if (value.length != 0)
{
$("#"+index).closest(".middle").next(".right")
.append('<span class="text-error validation-error-inline">' + value[0] + '</span>');
}
});
}
})
.fail(function(jqXHR, ajaxOptions, thrownError) {
alert('No response from server');
});
return false;
});
});
</script>
$(文档).ready(函数(){
$(“#第二步”)。在('click',函数(e){
e、 预防默认值();
var formData=new formData();
append('username',$('#username').val());
formData.append('email',$('#email').val();
append('password',$('#password').val();
append('password_confirmation',$('password_confirmation').val();
$.ajax({
url:'注册',
方法:“post”,
processData:false,
contentType:false,
cache:false,
数据类型:“json”,
数据:formData,
beforeSend:function()
{
$(“.validation error inline”).remove();
}
})
.完成(功能(数据){
if(data.validation_failed==1)
{
var arr=数据错误;
$。每个(arr,函数(索引,值)
{
如果(value.length!=0)
{
$(“#”+索引)。最近(“.middle”)。下一个(“.right”)
.append(“”+值[0]+“”);
}
});
}
})
.fail(函数(jqXHR、ajaxOptions、thrownError){
警报(“服务器无响应”);
});
返回false;
});
});
如何在第一次单击后禁用按钮,并仅在ajax完成时才允许下一次单击
现在,如果我速度快,我可以在行中触发ajax两次,并且相同的错误消息显示两次。只需添加$(this).attr(“disabled”,“disabled”)代码>之前返回false
和$(此).removeAttr(“禁用”)代码>如果要启用按钮。否则按钮将被禁用,直到页面刷新。只需添加$(this).attr(“禁用”、“禁用”)代码>之前返回false
和$(此).removeAttr(“禁用”)代码>如果要启用按钮。否则按钮将被禁用,直到页面刷新。只需添加$(this).attr(“禁用”、“禁用”)代码>之前返回false
和$(此).removeAttr(“禁用”)代码>如果要启用按钮。否则按钮将被禁用,直到页面刷新。只需添加$(this).attr(“禁用”、“禁用”)代码>之前返回false
和$(此).removeAttr(“禁用”)代码>如果要启用按钮。否则,按钮将被禁用,直到页面刷新。您可以单击禁用按钮
$('#step-two').on('click', function(e) {
e.preventDefault();
$(this).prop('disabled',true); //disable further clicks
…
并在always()
回调中启用,这样无论请求是否成功,按钮都将在请求后启用
$.ajax({
url: 'registration',
method: 'post',
processData: false,
contentType: false,
cache: false,
dataType: 'json',
data: formData,
beforeSend: function()
{
$(".validation-error-inline").remove();
}
})
.done(function(){
// code
})
.fail(function(){
// code
})
.always(function(data) {
$('#step-two').prop('disabled',false); // re-enable the button once ajax is finished
})
您可以在单击时禁用该按钮
$('#step-two').on('click', function(e) {
e.preventDefault();
$(this).prop('disabled',true); //disable further clicks
…
并在always()
回调中启用,这样无论请求是否成功,按钮都将在请求后启用
$.ajax({
url: 'registration',
method: 'post',
processData: false,
contentType: false,
cache: false,
dataType: 'json',
data: formData,
beforeSend: function()
{
$(".validation-error-inline").remove();
}
})
.done(function(){
// code
})
.fail(function(){
// code
})
.always(function(data) {
$('#step-two').prop('disabled',false); // re-enable the button once ajax is finished
})
您可以在单击时禁用该按钮
$('#step-two').on('click', function(e) {
e.preventDefault();
$(this).prop('disabled',true); //disable further clicks
…
并在always()
回调中启用,这样无论请求是否成功,按钮都将在请求后启用
$.ajax({
url: 'registration',
method: 'post',
processData: false,
contentType: false,
cache: false,
dataType: 'json',
data: formData,
beforeSend: function()
{
$(".validation-error-inline").remove();
}
})
.done(function(){
// code
})
.fail(function(){
// code
})
.always(function(data) {
$('#step-two').prop('disabled',false); // re-enable the button once ajax is finished
})
您可以在单击时禁用该按钮
$('#step-two').on('click', function(e) {
e.preventDefault();
$(this).prop('disabled',true); //disable further clicks
…
并在always()
回调中启用,这样无论请求是否成功,按钮都将在请求后启用
$.ajax({
url: 'registration',
method: 'post',
processData: false,
contentType: false,
cache: false,
dataType: 'json',
data: formData,
beforeSend: function()
{
$(".validation-error-inline").remove();
}
})
.done(function(){
// code
})
.fail(function(){
// code
})
.always(function(data) {
$('#step-two').prop('disabled',false); // re-enable the button once ajax is finished
})
尝试在单击处理程序的顶部添加以禁用按钮
$('#step-two').prop('disabled', true);
然后将其添加到return false
之前以重新启用:
$('#step-two').prop('disabled', false);
尝试在单击处理程序的顶部添加以禁用按钮
$('#step-two').prop('disabled', true);
然后将其添加到return false
之前以重新启用:
$('#step-two').prop('disabled', false);
尝试在单击处理程序的顶部添加以禁用按钮
$('#step-two').prop('disabled', true);
然后将其添加到return false
之前以重新启用:
$('#step-two').prop('disabled', false);
尝试在单击处理程序的顶部添加以禁用按钮
$('#step-two').prop('disabled', true);
然后将其添加到return false
之前以重新启用:
$('#step-two').prop('disabled', false);
$(文档).ready(函数(){
$(“#第二步”)。在('click',函数(e){
$(this).prop('disabled',true);//$(document).ready(函数(){
$(“#第二步”)。在('click',函数(e){
$(this).prop('disabled',true);//$(document).ready(函数(){
$(“#第二步”)。在('click',函数(e){
$(this).prop('disabled',true);//$(document).ready(函数(){
$(“#第二步”)。在('click',函数(e){
$(this.prop('disabled',true);//在ajax调用之后,必须禁用按钮,如下所示:
$('#step-two').on('click', function(e) {
var $button = $(this);
$button.attr('disabled', 'disabled');
但是,如果有必要,不要忘记再次启用它。最好的方法是在“完成”功能中启用它
尊敬。在ajax调用后,您必须禁用按钮,如下所示:
$('#step-two').on('click', function(e) {
var $button = $(this);
$button.attr('disabled', 'disabled');
但是,如果有必要,不要忘记再次启用它。最好的方法是在“完成”功能中启用它
尊敬。在ajax调用后,您必须禁用按钮,如下所示:
$('#step-two').on('click', function(e) {
var $button = $(this);
$button.attr('disabled', 'disabled');
但是,如果有必要,不要忘记再次启用它。最好的方法是在“完成”功能中启用它
尊敬。在ajax调用后,您必须禁用按钮,如下所示:
$('#step-two').on('click', function(e) {
var $button = $(this);
$button.attr('disabled', 'disabled');
但是,如果有必要,不要忘记再次启用它。最好的方法是在“完成”功能中启用它
注意。在单击事件中添加代码:
$("#step-two").prop("disabled", true)
ajax完成时:
$("#step-two").prop("disabled", false)
在单击事件中添加代码:
$("#step-two").prop("disabled", true)
ajax完成时:
$("#step-two").prop("disabled", false)
在单击事件中添加代码:
$("#step-two").prop("disabled", true)
ajax完成时:
$("#step-two").prop("disabled", false)
在单击事件中添加代码:
$("#step-two").prop("disabled", true)
ajax完成时:
$("#step-two").prop("disabled", false)
我想