2009-07-18 9 views
0

私のアプリにはコメントシステムがあります。 1つのビデオエントリについて、誰でもコメントを投稿することができ、他の誰かがそのコメントへの返信を投稿し、返答することができます。さらにStackOverflowが行っているのと同じように、それ以上のリプルを持つことはできません(1回答、1以上の回答)。jqueryとphpを使用して返信手順をコメントしますか?

私は、私は今、HTML上で、次のHTML

<div class="comment" id="comment-908"> 
    First comment 
</div> 
<div class="reply"> 
    <div id="reply-909> 
    reply 1 
    </div> 
    <div id="reply-910> 
    reply 2 
    </div> 
    <div id="reply-911> 
    reply 3 
    </div> 
</div> 
<form id="reply-form"> 
    <textarea id="replycomment" name="replycomment"></textarea> 
    <input type="submit" name="submit-reply" value="add reply" /> 
</form> 

を持っているのをみましょうしていることは、誰かが「返信を追加」ボタンをクリックしますときに私は、私が作成したサンプルである何SO同様の機能をしたいですjqueryを使用して返信します。

ここで、複数のコメントと複数の返信フォームがあることを知りたいと思います。誰がどのボタンをクリックしてコメントを投稿したいのですか?どのように私はそれを知っていますか?

上記のHTMLは正しい方法ではありません。使用できる正しいHTMLフローとjqueryの使い方を教えてください。

は今、私が知りたいときに最初似たように、SOE

答えて

3

変更HTMLフォーム:この背後にある理由は、あなたがそう、複数の要素に同じIDを持つことはできませんされて

<form class="reply-form" action="url/to/submit/123456" method="post"> 
    ... 
</form>  

、問題を単純化するために、すべての応答フォームをクラス返答形式にするだけです(これは簡単です)。 idを使ってフォームアクションを追加することも良い方法です。クライアントでもjavascript/ajaxが有効になっていない場合でも、送信ボタンをクリックしても機能することができます。

そして、残りの作業は、(フォームがAJAX提出されていると)次のようになります。

$(".reply-form").each(function(){ 
    var form = $(this); 
    var submitUrl = form.attr("action"); 
    $("input:submit", form).click(function(){ 
     // implement the submit logic here. 
    }); 
}); 
関連する問題