1

入力フィールドを含む行を動的に追加するjQuery関数があります。これはフォームに存在し、関数はテーブルの各セルにテキストボックス(個別の名前)を追加します

生成された HTML の例は次のようになります。

<table width="400" border="0" cellspacing="0" cellpadding="2px" margin="0" >
    <tbody>
    <tr>
        <td><input type="text" name="name_1"></td>
        <td><input type="text" name="surname_1"></td>
        <td><input type="text" name="age_1"></td>
    </tr>
    <tr>
        <td><input type="text" name="name_2"></td>
        <td><input type="text" name="surname_2"></td>
        <td><input type="text" name="age_2"></td>
    </tr>
    <tr>
        <td><input type="text" name="name_3"></td>
        <td><input type="text" name="surname_3"></td>
        <td><input type="text" name="age_3"></td>
    </tr>
    </tbody>

次のコードで「$_POST['varName']」データを読み取っています。

<?php
    $cnt = 1 ;
    $fName = ( $name ."_" .$cnt) ;
    do {
        echo("$_POST[$fName]  <br>");
        $cnt = $cnt +1 ; 
        $fName = ( $fldName ."_" .$cnt) ;

        } while (isset($_POST[$fName]));
    ?>

ただし、テーブルの各行を単純にループし、(PHP を使用して) ループでデータを順番に読み取りたいのですが、テーブル オブジェクトを php 関数に渡すことを考えていますが、これは可能ですか?

基本的に、テーブルデータを読み取るソリューションを探しています。各行には入力ボックス「name_X」、「surname_x」、および「age_x」が含まれており、設計時にいくつの行が存在するかわかりません... (決して9行以上)

これが明確であることを願っています!... 助言がありますか?

4

3 に答える 3

4

name="" 値で配列を使用する必要があると確信しています

<td><input type="text" name="name[]"></td>
于 2012-04-18T19:25:15.143 に答える
1

隠しフィールドを使用し、javascript を使用して行数を値として設定できます。php スクリプトでは、単純な for ループを使用できます。

このようなシムティング:

$rowCount = $_POST['hiddenName'];
for($i=1; i<=$rowCount; $i++)
{

  $_POST['name_'.$i]
  ...
}
于 2012-04-18T19:35:40.330 に答える
0

name配列と単純なforループの両方を使用して、適切な答えを見つけました。皆さんありがとう!

HTML:以下を動的にテーブルに追加するjs関数があります(フォームのボタン)

<tr>
        <td><input type="text" name="name[]" ></td>
        <td><input type="text" name="surname[]" ></td>
        <td><input type="text" name="age[]"> </td>
    </tr>

PHP:これは私がフォーム内でテーブルを処理する方法です

<?php  
$rowCount =  count($_POST['name']); 
    echo "<table>";
    for($i=1; $i<=$rowCount; $i++)
        {
        echo "<tr>";
        echo "<td>".$_POST['name'][$i -1]."</td>";
        echo "<td>".$_POST['surname'][$i -1]."</td>";
        echo "<td>".$_POST['age'][$i -1]."</td>";
        echo "</tr>";
        }
    echo "</table>";?>
于 2012-04-19T17:14:38.067 に答える