我正在尝试使用ajaxForm插件通过ajax提交表单。我遇到的问题是我需要提交表单两次以实际提交表单。请参阅下面的代码,我感谢任何帮助。
const eventNames = ['a', 'b', 'c'];
this.on('*', () =>
eventNames.forEach(event => this.emit(event))
);
我尝试将其更改为ajaxSubmit,然后添加e.preventDefault();但是当我尝试时,表格根本没有提交。
答案 0 :(得分:0)
在您的代码中,您有多个错误
1)提交按钮并尝试ajax submit
使用类型按钮或链接 当您单击提交按钮时,浏览器会尝试自动发送表单,并且您正在运行js,但这不是阻止提交
2)使用alert代替jAlert
将警报更改为jAlert
3)此代码初始化执行ajax的观察者
$('#send-form').ajaxForm(function() {
var currentAlert = $.jAlert('current');
currentAlert.closeAlert();
successAlert('Success!', 'The form has been submitted');
$('button.submit-btn').attr('disabled', false);
});
然后您在点击时添加它,但您必须在文档加载时添加它 所以这是代码
$( document ).ready(function() {
$('#send-form').ajaxForm(function() {
var currentAlert = $.jAlert('current');
currentAlert.closeAlert();
successAlert('Success!', 'The form has been submitted');
$('button.submit-btn').attr('disabled', false);
});
});
$(document).on('click', 'input.submit-btn', function () {
jAlert('Please wait...','Please wait...');
setTimeout(function() {
$('button.submit-btn').attr('disabled', true);
}, 50)
});
这是HTML
<form action="" method="post" id="send-form">
<input type="button" class="submit-btn" name="send-modal-form" value="submit" />
</form>