0

ここで本当に単純なことを見落としているかもしれませんが、これを理解できないようです。フォームを動的に拡張可能にしようとしています。

私の問題は、このコードが機能しないことです:

<html>
<head>
    <?php
    $i = 1;
    $p = 1;
    $r = 1;
    ?>
    <script language="javascript">
        function add()
        {

            document.getElementById("groesse").innerHTML = document.getElementById("grosse").innerHTML+"<input type='text' name='groesse[<?php echo $i;?>]'>";
            document.getElementById("preis_l").innerHTML = document.getElementById("preis_l").innerHTML+"<input type='text' name='preis_a[<?php echo $p;?>]'>";
            document.getElementById("preis_a").innerHTML = document.getElementById("preis_a").innerHTML+"<input type='text' name='preis_l [<?php echo $r;?>]'><br>";

            <?php
            $i = $i + 1;
            $p = $p + 1;
            $r = $r + 1;
            ?>
        }
    </script>
</head>
<body>

<?php

    if ($_REQUEST['Selected'] == 'Speisekarte')
    {
        echo '<br><br><br><br>';
        echo '<input type="button" value="+" onClick="add()">';
        echo '<form action="insert.php" method="submit">';
        echo '<table border="1">';
        echo '<tr><td>ID</td><td>Name</td><td>Beschreibung</td><td>Größe</td><td>Preis_L</td><td>Preis_A</td></tr>';
        echo '<tr><td><input type="text" id="ID" name="ID"></td>';
        echo '<td><input type="text" id="Name" name="Name"></td>';
        echo '<td><input type="text" id="Beschreibung" name="Beschreibung"></td>';
        echo '<td id="groesse"></td>';
        echo '<td id="preis_l"></td>';
        echo '<td id="preis_a"></td>';
        echo '</tr></table><input type="hidden" value="Speisekarte">';
        echo '<button type="submit">OK</button></form>';

    }

?>
</body>
</html>

誰かが -Button をクリックする+と、フォームが特定の ID を持つテーブルにさらに 3 つの Textfields を取得します。-Tagsでも試してみdivましたが、うまくいきませんでした。

誰かが私を助けてくれることを願っています。

4

1 に答える 1

0

php クライアント側を使用することはできません。訪問者が GET または POST によってページを要求した場合にのみサーバー上で解析されるため、 $i = $i + 1 を使用してもクライアント側では機能しません。ちなみに、代わりに $i++ を使用してください。

これを javascript だけで解決するか、代わりにフォームを送信し、必要な追加フィールドを含むフォームを再度提示して、php でそれを行うことができます。

jQuery を見て、この回答をデモで確認することをお勧めします: jQuery を使用してフォーム要素を動的に追加する方法 (PSL のクレジット)

于 2013-11-09T21:17:21.103 に答える