0

検証のためにデータを別のphpに送信するphpフォームがあります。いずれかのフィールドが空白のままになっている場合、バリデータ php は、セッション変数を使用して事前に入力されたすべての変数とともにメッセージを元の php フォームに送り返すため、ユーザーは再度入力する必要がありません。

これらのセッション変数を使用して、このようにテキスト ボックスに再度入力できます

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

しかし、ドロップダウン、ラジオ ボタン、およびチェック ボックスを設定するにはどうすればよいでしょうか。

ありがとう

4

4 に答える 4

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>
于 2012-04-29T17:05:48.103 に答える
1

...ステートメントの最後の二重引用符が間違っていることに気付きました。次のようにする必要があります。

<script>
    $("#fname").val("<?php echo $_SESSION['fname'] ?>");
</script>
于 2015-06-26T16:24:51.963 に答える
1

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

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

これをプログラムで行うには、オプションを反復処理し、正しいオプションを手動でテストして、それに追加する必要がありますselected

于 2012-04-29T17:03:44.773 に答える