2

助けが必要です。私はいくつかの入力を含むフォームを持っており、彼は div でソートしました。div にさらに入力を挿入したいので、次のようなことを試みました-

$(document).ready(function(){
  $("#more").click(function(){
    $("#div_name").append("<input type=\"text\" name\"test\" value=\"test\" />");
  });
});

そしてhtmlは

<form action="" method="post" enctype="multipart/form-data" name="form_name">
   <input type="text" name="text_input" value="test" />
   <div id="div_name"></div>
   <input type="button" id="more" value="Add more" />
</form>

そして、それは機能し、入力を追加しますが、フォームを送信すると、jqueryが追加した入力を送信しません。彼は私が追加したばかりの投稿を除くすべての投稿を表示するので、出力は次のようになります

        Array
(
    [text_input] => test
)

上記のjQueryコードを使用したときも。しかし、私がやっているとき $("form").append(...); 、すべて順調に進んでいますが、入力が div にありません。ありがとうございました。:)

4

2 に答える 2

2

まず、フォームに挿入する動的入力はすべて同じ名前になるため、機能しません。各入力データを区別するには、名前の末尾に数字/文字列を追加する必要があります。

これがチェックアウトするためのフィドルであり、フォーム要素に動的に作成された入力要素が含まれていることを示しています。http://jsfiddle.net/umuff/

アップデート:

あなたが間違っていることを見つけました

name \ "test\"<===名前の後に等号を忘れた

動作するフィドルはこちらhttp://jsfiddle.net/umuff/1/

于 2012-06-07T20:46:58.270 に答える
1

div はフォーム内にある必要があります。フォームの開始タグを div の前に移動し、/form タグを /div の後に移動します。

これが機能しない場合は、逆の方法で実行します。

<div id="...">
   <form>
   </form>
</div>
于 2012-06-07T19:28:43.947 に答える