ここで謎の問題のビットを持たずに再提出することはありません。フォームには、修正されたデータを表示するために更新されるDIVが組み込まれています。Ajaxフォームは</p> <p>は私がフォームを送信するページ上のボタンを構築しました...ページの更新
<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を
01:
形態(これはSmartyテンプレート内'S)
すべてのupdate.php containsは、ページを再構築するために必要な最小値です。次に、div #update内にあるテンプレートのセクションを再構築します。
$smarty->display('items.tpl');
初めてボタンをクリックしたときは、効果的に動作し、HTMLコンテンツはページに顕著な影響を与えることなく変更されます。
しかし、2回目のクリックはJSの近くにはないようで、ページをリロードするだけです。
第一クリック:次のクリックが、その後のアクションがあると信じて私をリードし、それが必要として働いて設計さ 第二クリックとしてAJAXでフォームを送信する:ページを更新し、何よりも 第三をクリックします:AJAXを送信するフォームを 第4回クリックして、設計通り:、ページを更新しないよりは何も
など
私はここで間違ってやって上の任意のアイデア?私は、JSがすべての機会に存在し、すべてをチェックし、私の数字をグーグルでチェックしていることを確認しました - 私はどこでエラーを見せていないのですか?
で、今完璧に動作しますか? '$( '#update')'は1つの要素でなければなりません。 – putvande
'