Я просмотрел похожие вопросы, но до сих пор ни одно решение не сработало. Я использую форму шагов jQuery и пытаюсь отключить кнопку отправки при нажатии, а также изменить внешний вид. Я пробовал использовать:
$('finish').attr('disabled',true);
Но это не сработало. Когда я нажимаю кнопку, она не отключается и не меняет внешний вид. Когда я нажимаю дважды, он отправляет мне два электронных письма с тестовой формой.
РЕДАКТИРОВАТЬ: я не пытаюсь удалить «ввод», я пытаюсь удалить кнопку «отправить», которая в документации jQuery указана как «завершить».
Мой полный JS ниже.
$(function(){
$("#smart-form").steps({
bodyTag: "fieldset",
headerTag: "h2",
bodyTag: "fieldset",
transitionEffect: "fade",
titleTemplate: "<span class='number'>#index#</span> #title#",
labels: {
finish: "Submit Form",
next: "Continue",
previous: "Go Back",
loading: "Loading..."
},
onStepChanging: function (event, currentIndex, newIndex){
if (currentIndex > newIndex){return true; }
var form = $(this);
if (currentIndex < newIndex){}
return form.valid();
},
onStepChanged: function (event, currentIndex, priorIndex){
},
onFinishing: function (event, currentIndex){
var form = $(this);
$('finish').attr('disabled',true);
form.validate().settings.ignore = ":disabled";
return form.valid();
},
onFinished: function (event, currentIndex){
var form = $(this);
$(form).ajaxSubmit({
target:'.result',
beforeSubmit:function(){
//$('.form-footer').addClass('progress');
},
error:function(){
//$('.form-footer').removeClass('progress');
},
success:function(){
$('.alert-success').show().delay(10000).fadeOut();
//$("#wizard").steps('done');
//$("#smart-form").steps('reset');
//setCurrentIndex();
//startIndex: 0
//reset();
/*$('.form-footer').removeClass('progress');
$('.alert-success').show().delay(10000).fadeOut();
$('.field').removeClass("state-error, state-success");
if( $('.alert-error').length == 0){
$('#smart-form').resetForm();
reloadCaptcha();
}*/
}
})
}