0

この配列を使用して選択ボックスを作成しています。大丈夫です。それは私のために働いています。しかし、この選択ボックスをスティッキーにする必要があります。つまり、入力方法を記憶する HTML フォームが必要です。

このコードを foreach ループに追加します。しかし、それは機能していません..

// Check for stickyness:
if ( $_POST['how_hear'] == $value){
  echo " selected='selected'";
}

これは私のコード全体です

$howHear = array( 1 =>  'option value 01', 
                        'option value 02', 
                        'option value 03', 
                        'option value 04', 
                        'option value 05', 
                        'option value 06', 
                        'option value 07', 
                        'option value 08'
                    );

echo "<select name='how_hear'>
        <option>--Select an Option--</option>\n";

    foreach ( $howHear AS $key => $value) {
        echo "<option value='{$key}'";

        // Check for stickyness:
        if ( $_POST['how_hear'] == $value){
            echo " selected='selected'";
        }
        echo ">$value</option>\n";
    }
echo "</select>\n";

誰かが私を助けてくれることを願っています。ありがとうございました

4

3 に答える 3

1

値ではなくキー$_POST['how_hear']と比較する必要があります。それはキーです(フォームで送信される値属性)。<option>

于 2013-02-05T02:36:10.097 に答える
1

$_POST['how_hear']キーではなく選択リストの値と比較しています。試す:

// Check for stickyness:
if ( $_POST['how_hear'] == $key){
    echo " selected='selected'";
}
于 2013-02-05T02:36:48.597 に答える
1

「キー」をフォームの実際の HTML 値として渡すことを覚えておいてください。技術的$_POST['how_hear']には、$value ではなくキーが含まれます。if ( $_POST['how_hear'] == $key){コードの残りの部分が問題ないと仮定すると、変更するだけで機能するはずです...

于 2013-02-05T02:38:08.130 に答える