我使用ajax方法提交表单,它只运行一次,然后第二次,页面刷新而不做任何事情。我做错了什么?
$(function() {
function formSubmitHandler(options) {
return function (e) {
var $form = $(this),
$submit = $(options.submit),
$alert = $(options.alert);
var $loadagain = $('#divtoload').load('mypage.php #divtoload');
e.preventDefault();
$alert.fadeOut();
$submit.html('Saving Changes...').prop({disabled: true});
$.post(options.url, $form.serialize())
.done(function (data) {
$alert.html(data).fadeIn();
$alert.html($loadagain).fadeIn();
$form.trigger('reset');
})
.fail(function (jqXHR, textStatus, errorThrown) {
$alert.html(textStatus).fadeIn();
console.log(arguments);
})
.always(function () {
$submit.html('Save Changes').prop({disabled: false});
});
};
}
$('#main_form_new').submit(formSubmitHandler({
url: 'ajax/category.php',
submit: '.sbbtn',
alert: '.form_result'
}));
$('#item_main_itemform_new').submit(formSubmitHandler({
url: 'ajax/items.php',
submit: '.itemsbbtn',
alert: '.item_itemform_result'
}));
});
我也有单独的刷新按钮,也没有使用它(完全删除了下面的代码),但它仍无法正常工作,因为我尝试了多次多种变体,最后来到这里寻求帮助。
这是使用表单凭据的刷新代码。
$('#maindiv').on('click', '#refreshdiv', function() {
//$('#refreshdiv').live(function(){
$('#divtoload').load('mypage.php #divtoload', function() {
});
});
html for refresh
<button class="btn btn-primary" type="button" id="refreshdiv" /> <i class="fa fa-refresh"></i> Refresh </button>
如何使用这两个选项?