0

HTMLテーブルが埋め込まれた投稿フォームを作成しようとしています.javascriptを使用して、このテーブルが行を追加および削除できるようにします。

送信された場合に値を格納する必要があるhtml変数配列に新しい行をリンクする際に問題が発生しました。

助けてください!

これが私のJavaScript関数です。

function addRow(tableID) {

    var table = document.getElementById(tableID); //access the table to dynamically allocate it. 

    var rowLen = table.rows.length; // Store number of rows
    var toAdd = table.insertRow(rowLen);

    var index = toAdd.insertCell(0);
    var element0 = document.createElement("input");
    element0.type = "checkbox";
    element0.name = "toDelete[rowLen]";
    index.appendChild(element0);


    var industry = toAdd.insertCell(1);
    var element1 = document.createElement("input");
    element1.type = "text";
    element1.name = "Industry[rowLen]";
    industry.appendChild(element1);

}

toDeleteとは、追加された新しい各行Industryの値を格納する html テーブル変数です。

ここに重要なhtmlがあります:

<BODY>

    <INPUT type="button" value="Add Row" onclick="addRow('dataTable')" />

    <form  method="post" action="test.php">
        <TABLE id="dataTable" width="350px" border="1">
            <tr> 
                <th></th>
                <th></th>

            </tr>
            <tr>
                <td><input type="checkbox" name="toDelete[]"</></td>
                <td><input type="text" name="Industry[]"</></td>

            </tr>
        </table>
        <input type="submit" value="Submit">
    </form>
</body>

「test.php」の変数にアクセスすると$_POST、何も保存されず、行数に関係なく、各変数のカウント長が 2 を超えることはありません。

4

1 に答える 1

0

あなたが望む正確な結果はわかりませんが、変数を入力名に補間しようとしているようです。

element0.name = "toDelete[rowLen]";
element1.name = "Industry[rowLen]";

そのためには、連結する必要があります

element0.name = "toDelete[" + rowLen + "]";
element1.name = "Industry[" + rowLen + "]";
于 2013-02-21T04:49:19.163 に答える