私は送信時に毎回同じフォームを使用するグローバルフォームを持っています。このフォームはデータベースから生成されるスレッド数。ページが読み込まれるときには、同じ種類の2つまたは4つの形式があります。また、このタイプのフォームは、ajaxを介して特定のリクエストでページにロードされます。最も重要なのは、これらのフォームはすべて同じ送信関数を使用するということです。例えばjquery:同じフォームがajaxによってロードされたときに同じフォームがロードされたときに複写を実行する
、
HTML以下
<div class="form"></div>
<a href="form.php" class="load">load</a>
<div>
<form action="#" method="post" enctype="multipart/form-data" class="form-global">
<textarea name="str_content" title="Write a comment..."></textarea>
<input type="submit" name="submit" value="SUBMIT" class="button-public left"/>
</form>
</div>
<div>
<form action="#" method="post" enctype="multipart/form-data" class="form-global">
<textarea name="str_content" title="Write a comment..."></textarea>
<input type="submit" name="submit" value="SUBMIT" class="button-public left"/>
</form>
</div>
は、ページがロードされたとき、すべてのフォームにのみ提出し、通常どおりに動作し
$(document).ready(function() {
sumbitform();
$(".load").click(function() {
var path = $(this).attr('href');
$('.form').load(path, {}, function(){
sumbitform();
//$(this).bind("submit", sumbitform);
});
return false;
});
});
this.sumbitform = function(){
$("form.form-global").submit(function(){
alert('1');
return false;
});
}
、jqueryの中に作業コードです各フォームで1回発生します。同じ種類の新しいフォームがajaxによってロードされると問題が発生し、他の既存のフォームは2回トリガーされます。
あなたはどのように私はこの問題を解決することができます
http://nano-visions.net/dump/jquery.ajaxsubmit/
、このリンク上で問題を見ることができますか?私は以下の行のようにajaxがロードされたフォームにsubmit関数を付加できますか?$(this).bind("submit", sumbitform); // doesn't work obviously
またはその他の優れたアイデアですか?
ありがとうございました。
ありがとうございました。ちょうどそれを試しても動作しません。あなたはこれにコードを変更することを意味するのですか? $( 'フォーム')負荷(パス、{}、関数(){ \t \t \t \t \t \t $(この).live( "提出"、sumbitform); \t \t})。 – laukok
あなたのコードで判断すると、$( "form.form-global")。submit(...) 'を$(" form.form-global ")に変更しなければならないと思います。 ...) ' –
それは今作動する!本当にありがとう! – laukok