0

基本的に、ユーザーが一連の属性を入力できるようにしたいので、ユーザーがリストの最後の入力を選択すると、別の入力を作成します。

それは本当に簡単です。問題はサーバーでの名前付けと取得についてです。Google Chrome では以下のコードが有効であり、反対側に配列が返されることがわかっています。しかし、この機能とブラウザの互換性に関するこの情報はどこにも見つからないようです。すべてのブラウザがこれをサポートしていますか? or is は、たとえば選択に対してのみ真に有効です。

誰かが説明したり、これに関する正しい W3C ガイドラインを教えてくれたりできれば、それは素晴らしいことです。

<!doctype html>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>

    <?php if(!empty($_POST)){
        xdebug_var_dump($_POST);
    } ?>

    <form method="post">
        <input name="testing[]" value="testing1" />
        <input name="testing[]" value="testing2" />
        <input name="testing[]" value="testing3" />
        <input name="testing[]" value="testing4" />
        <input name="testing[]" value="testing5" />
        <button type="submit">Go</button>
    </form>
</body>
</html>
4

3 に答える 3

2

入力の name 属性は非常に柔軟です。ほとんどすべての文字を含めることができますが、あまり多くのオプションを調べたくない場合があります。このようなフォームが送信されると、データは表示どおりに送信され、期待どおりにすべて同じ名前が付けられます。

ただし、サーバー側では状況が異なる場合があります。この場合、PHP は特にtesting[]配列要素などの名前を解釈し、そのような名前を持つすべての入力フィールドを 1 つの配列に結合します。これは、可変長データを PHP スクリプトに渡す優れた方法です。

これは、PHP が役立つことよりも、HTML 標準に関するものではありません。

于 2013-07-02T04:43:10.880 に答える
2

ブラウザの互換性の問題はありません。すべてのブラウザで動作します。このコードを先に進めることができます。

于 2013-07-02T04:43:53.787 に答える
0

これまで読んだ限りでは、ブラウザの互換性に関連するものではありません。ブラウザはデータをそのまま送信します。PHP は $_POST データを次のように解釈します。

これを説明するPHP.netのリンク

スタックオーバーフローに関する別の少し似た質問

いくつかの異なるブラウザーでPHPFiddleでこの例を使用して、それが機能することを示します。

于 2013-07-02T04:48:30.303 に答える