使用load事件时,Ajax只能运行一次

时间:2015-07-25 07:00:52

标签: ajax

我使用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>

如何使用这两个选项?

0 个答案:

没有答案