繁体   English   中英

如果没有页面刷新,Ajax表单将不会重新提交

[英]ajax form won't re-submit without page refresh

这里有点神秘的问题...

我在提交表单的页面上建立了一个按钮。 该表单嵌入了DIV,该DIV将更新以显示修改后的数据。

(位于智能模板中)

形成:

<form id='itempost_{$item.itemid}_{$item2.itemid}' method='post' class='itempost'>
     <input type='hidden' name='item' value='{$item.itemid}'>
     <input class='btn_text' type="submit" value="Send Item">
</form>

JS

$('.itempost').on('submit', function(e) {

    e.preventDefault();
    $.ajax({
        type: "POST",
        url : 'item.php',
        data: $(this).serialize(),
        success : function (response) {
        $("#update").eq(0).load("update.php?&t={$parentid}");

        },
        error: function (jXHR, textStatus, errorThrown) {
        alert('not ok');
            alert(errorThrown);
        }
    });
    return false;
});

update.php

update.php包含的所有内容都是重建页面所需的最低要求,然后它将重建位于div #update中的模板部分。

$smarty->display('items.tpl');

第一次单击该按钮,效果很好,并且HTML内容发生更改,而对页面没有任何明显影响。

但是,第二次点击似乎没有到达JS的任何地方,只是重新加载了页面。 接下来的单击将按预期方式工作,使我相信这些操作是:

第一次单击:使用设计的AJAX提交表单第一次单击:使用设计的AJAX提交表单第三次单击:使用设计的AJAX提交表单第四次单击:刷新页面

等等

对我在这里做错的任何想法吗? 我已确保所有情况下均使用JS,检查所有内容,并用手指搜索一下数字-我只是看不到哪里出错了?

辉煌。

非常感谢yuriy636提供了答案,并感谢putvande帮助我整理了第二通电话。

现在,所有功能都可以完美运行

$(document).on('submit', '.itempost', function(e) {

e.preventDefault();
$.ajax({
    type: "POST",
    url : 'item.php',
    data: $(this).serialize(),
    success : function (response) {
    $("#update").load("update.php?&t={$parentid}"); 

    },
    error: function (jXHR, textStatus, errorThrown) {
    alert('not ok');
        alert(errorThrown);
    }
});
return false;
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM