0

phtmlページでフォームを繰り返し処理していますが、ボタンをクリックしたときにフォームを送信または検証するにはどうすればよいですか。
フォームを反復処理しているとき、IDはすべてのフォームで同じであるため

私はZendFrameworkを使用しています。このようにビューでフォームを開始して、フォームごとに異なるIDを取得します。

<?php
$commentForm = new Application_Form_Comment**($answerId)**;
 echo $commentForm?>

$ answer ['answer_id']を送信して、次のようにフォームIDに入力しました
<form id="comment_form64623" method="post" action="">

それが最善の方法ですか?またはそれを処理する方法がJqueryにありますか?

4

2 に答える 2

1

IDを付けるのは良い方法ではありません。IDを非表示のパラメーターとして取得するようにzendのフォームを構成します。これにより、最終的に次のようにレンダリングされます。

<form id="comment_form" method="post" action="">
    <input type="hidden" name="answer_id" id="answer_id" value="64623" />

次に、フォームの位置を別の場所に変更して更新するようにjQueryを構成します。

$("form").appendTo($("#newDiv")); //Place the for somewhere else
$("#answer_id").val(newval); //Set a new id for the form
于 2012-04-07T21:52:37.270 に答える
0

おそらく、各フォームのIDを変更する必要があります。IDとCSSのクラスの違いは、IDは複数回使用できず、クラスは使用できることです。あなたがのようなフォームを持っていてid="form1"id="form2"それからあなたは完全に見つけられるでしょう、しかしそれらをすべて持っていることid="form1"はいくつかの問題を引き起こすでしょう。

あなたの質問に答えるには、jQueryはこの問題に対処するのに最適であり、そのように機能します...

すべてのフォームに同様のクラス(class="formObject")があるとすると、次のコマンドを使用して、すべてのフォームで同時にコードを実行できます。

$(".formObject").each(function() {
    //Do whatever
});

逆に、個々のフォームをアドレス指定する場合は、IDで呼び出す必要があります(ページ上の他のすべてのIDに固有である必要があります)。

$("#form1 input[type=submit]").on("click", function() {
    //Do whatever
});

うまくいけば、これはあなたの質問に対処するか、少なくともあなたを正しい方向に向けます。

于 2012-04-07T21:48:48.997 に答える