我有一个使用ajax动态加载的窗体。一旦它被加载,我就可以提交表单,以便重新加载页面。我正在尝试现在ajaxify窗体,以便我不必重新加载页面。我通过malsup使用ajaxform插件,但是我无法正确使用这个插件,因为我试图ajaxify动态加载的窗体。目前,使用下面的代码,它要求我提交表单两次以进行任何更改。换句话说,一旦使用页面上的上一个按钮加载表单,然后我必须点击两次提交按钮才能提交表单。第一次点击后,不提交表单,其他每次点击都会执行。我不明白为什么我必须在第一次提交表格两次。请参阅下面的代码。jquery ajaxform需要两次点击动态形式
$(document).ready(function() {
var options = {
beforeSubmit: showRequest,
error: showError, // error
success: showResponse // post-submit callback
};
$(document).on('submit', '#send-form', function(event) {
$('#send-form').ajaxForm(options);
return false;
});
});
// pre-submit callback
function showRequest(formData, jqForm, options) {
alert('Please wait...','Please wait...');
return true;
}
// error callback
function showError(er, err, error) {
var currentAlert = $.jAlert('current');
currentAlert.closeAlert();
errorAlert('Error','Try Again Later');
}
// post-submit callback
function showResponse(responseText, statusText, xhr, $form) {
var currentAlert = $.jAlert('current');
currentAlert.closeAlert();
successAlert('Success!', 'Your form has been sent');
}
<form action="" method="post" id="send-form">
<input type="submit" class="submit-btn" name="modal-form" value="submit" />
</form>
我尝试使用,而不是给ajaxForm ajaxSubmit的,因为我明白,ajaxForm不会实际提交表单。当我这样做时,表单似乎在第一次点击时提交(所有提醒都会出现),但实际上没有提交。我将不胜感激任何帮助。