我使用的是jquery-steps.js,
我想要禁用提交按钮,当有人点击提交,并永远不会激活它,直到表单被提交。
原因是如果有人点击提交很多次,我会收到很多邮件!
注意:我的HTML文件没有包含submit按钮,它只显示在下面的js文件中
我的js文件看起来像这样。
$(function() {
$("#smart-form").steps( {
bodyTag:"fieldset", headerTag:"h2", bodyTag:"fieldset", transitionEffect:"slideLeft", titleTemplate:"<span class='number'>#index#</span> #title#", labels: {
finish: "Send søknad", next: "Neste", previous: "Tilbake", loading: "Laster..."
}
, 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);
form.validate().settings.ignore=":disabled";
return form.valid();
}
, onFinished:function(event, currentIndex) {
var form=$(this);
$(form).ajaxSubmit( {
target:'.result', beforeSubmit:function() {}
, error:function() {}
, success:function() {
$('.alert-success').show().delay(7000).fadeOut();
$('.field').removeClass("state-error, state-success");
if($('.alert-error').length==0) {
$('#smart-form').resetForm();
reloadCaptcha();
}
}
}
);
}
}发布于 2016-06-17 04:04:52
这可能有点通用(我还没有测试过它),但这可以帮助您入门
$(document).find('input[type="submit"').prop('disabled', 'disabled');发布于 2016-06-17 05:58:29
在第一行$(function() {之后,添加:
var isFinishing = false;在onFinished事件中,更改以下行:
var form=$(this);适用于:
if (isFinishing) return;
isFinishing = true;
var form=$(this);如果AJAX调用的success事件没有重新加载页面,则应考虑在此函数中添加以下行:
isFinishing = false;https://stackoverflow.com/questions/37867607
复制相似问题