0

私はテーブルを持っています。

<tableid="mytable" >
<tr class='row'>
 <td>Name</td>
 <td><input type="textbox" name="txtName" /></td>
</tr>
</table>

jQueryを使用して新しい行を追加しました

var a = $(".row").html();
$("#mytable > tbody:first").append("<tr class='row'>"+a+"</tr>");

これはコードPHPです

$_REQUEST['txtName'];

新しい行を作成するときに値のテキストボックスを取得できません。私を助けてください

4

3 に答える 3

2

サーバー上でhtmlが正しいと仮定すると、新しい行から値を取得できない理由は、それらがすべて同じ変数名を持っているためです。入力の名前を配列にします。

<table id="mytable" >
<tr class='row'>
 <td>Name</td>
 <td><input type="textbox" name="txtName[]"></td>
</tr>
</table>

これで、すべての名前が配列に含まれるようになります$_REQUEST['txtName']

また、$_REQUESTは使用しないでください。$ _POST、$ _ GET、$_COOKIEなどを使用します。セキュリティ上の理由があります。

于 2013-02-16T07:13:21.280 に答える
0

同じ名前のテキストフィールドを2つ持つことができないため、PHPで値を取得することはできません。

jQueryを使用して新しいフィールドを動的に追加する場合は、並べ替えの最後に、txtName、txtName2、txtName3などの数値を追加してください。

また、入力マークアップが無効です。閉じる必要があります。

 <td><input type="textbox" name="txtName" /></td>
于 2013-02-16T07:11:48.707 に答える
0

このようにしてみてください

<tableid="mytable" >
    <tr class='row'>
      <td>Name</td>
      <td><input type="textbox" name="txtName_0"></td>
    </tr>
 </table>

そして、名前の値をtxtName_1、txtName_2 ....のようにインクリメントする必要があるたびに、javascriptを使用して、次のように取得します。

$REQUEST['txtName_0'],$REQUEST['txtName_1'].....or directly use loop them....
于 2013-02-16T07:13:04.623 に答える