2010-11-22 15 views
0

私は送信時に毎回同じフォームを使用するグローバルフォームを持っています。このフォームはデータベースから生成されるスレッド数。ページが読み込まれるときには、同じ種類の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 

またはその他の優れたアイデアですか?

ありがとうございました。

答えて

1

代わりに$(this).live("submit", sumbitform);を使用する必要があります。これは、同じイベントを、すぐ後ろに現れる要素だけでなく、後で表示される要素にバインドします。

詳細については、live in the jQuery docsをご覧ください。

+0

ありがとうございました。ちょうどそれを試しても動作しません。あなたはこれにコードを変更することを意味するのですか? $( 'フォーム')負荷(パス、{}、関数(){ \t \t \t \t \t \t $(この).live( "提出"、sumbitform); \t \t})。 – laukok

+0

あなたのコードで判断すると、$( "form.form-global")。submit(...) 'を$(" form.form-global ")に変更しなければならないと思います。 ...) ' –

+0

それは今作動する!本当にありがとう! – laukok