2012-04-29 19 views
0

私は検証のために別のPHPにデータを送信するPHPフォームを持っています。フィールドが空白のまま残っていると、バリデーターphpは、セッション変数を使用してすべての事前入力された変数とともにメッセージを元のPHPフォームに戻し、ユーザーは再度入力する必要がありません。セッション変数に基づいてドロップダウン値を選択

私はこの

value="<?php echo $_SESSION['fname'] ?>" 

のようにもう一度、テキストボックスに入力するには、これらのセッション変数を使用することができますが、どのようにドロップダウン、ラジオボタンやチェックボックスを移入ついて行くには?

おかげ

+0

TEXT型のINPUT要素と同様に、他のすべてのINPUT要素を使用します。 – SteAp

+0

ドロップダウンボックスでオプションが選択されていない入力オプションがありません – ABI

答えて

1

<select>要素の選択<option>が、それはvalue=属性だによって決定されていません。選択されたオプションをマークするためには、次のように、<option>要素は、それに設定されたselected属性を持っている必要があります。

<select> 
    <option>1</option> 
    <option selected>2</option> 
    <option>3</option> 
</select> 

をプログラム的にこれを実行するためには、オプションを反復処理する必要があり、手動でのテスト正しいオプションを入力し、selectedを追加します。

4

選択、チェックボックスまたはラジオボックスでは、値が一致するかどうかを確認する必要があります。何かのように:あなたはオプションのフィールドの値を反復処理している場合

<select name="fname"> 
<option value="1" <?php if($_SESSION['fname'] == 1) echo 'selected'; ?>>1</option> 
<option value="2" <?php if($_SESSION['fname'] == 2) echo 'selected'; ?>>2</option> 
</select> 

それは簡単です:

<select name="fname"> 
<?php foreach($array AS $key => $value) { ?> 
    <option value="<?php echo $value; ?>" <?php if($_SESSION['fname'] == $value) echo 'selected'; ?>><?php echo $value; ?></option> 
<?php } ?> 
</select> 
+0

動作させることはできません。ページをリロードすると常に2が選択されます – ABI

1

のjQueryを使用してはるかに簡単な方法があります。 .val()を使用してSELECTSを設定することができます。

<script type="text/javascript"> 
$("#fname").val("<?php echo $_SESSION['fname']"; ?>); 
</script> 

それが必要、ステートメントの末尾にあなたの二重引用符を置き忘れたことに気づい... fnameの

0

に選択のIDだけでなく、名前を設定することを忘れないでください。 :

<script> 
    $("#fname").val("<?php echo $_SESSION['fname'] ?>"); 
</script> 
関連する問題