4

ユーザーから靴の最小サイズと最大サイズを取得し、このサイズ範囲のすべての靴を POST メソッドで同じページに印刷するフォームがあります。

フォーム アクションは同じページにつながるため、ページが更新され、POST の変数の新しい値が取得されます。

私の問題は、デフォルトの選択オプションです(たとえば)

<option value="49.0" selected="selected">49.0</option>

ページが更新された後ももちろん選択されているため、X サイズの結果が出力されますが、選択されているオプションは 49.0 です。

私の質問は、デフォルトのオプションを、ユーザーがフォームを送信する前に選択したオプション、つまり $_POST['minSize'] および $_POST['maxSize'] に変更する方法です。

4

4 に答える 4

4

これには JavaScript を使用できます。

<script type="text/javascript">
  document.getElementById('idofselectlist').value = "<?php echo $_POST['minSize'];?>";
</script>

<script type="text/javascript">
  document.getElementById('idofselectlist').value = "<?php echo $_POST['maxSize'];?>";
</script>
于 2013-06-18T17:38:58.133 に答える
1

POST 配列に既に値がある場合は、ユーザーが選択した値をエコーアウトするインライン php を使用してフォーム入力を作成するだけです。POST が設定されていない場合に値をデフォルトに設定する条件をページの上部に配置できます。

//check if max size is set via post
if(!isset($_POST['maxsize'])){
    $maxSize = 10;
}else{
    $maxSize = $_POST['maxsize'];
}

//check if min size is set via post
if(!isset($_POST['maxsize'])){
    $minSize= 1;
}else{
    $maxSize = $_POST['minsize'];
}

次に、htmlとインラインで、これを使用します

<form action="form_handle.php">
  Min shoe size: <input type="text" name="min" value="<?=$minSize; ?>"><br>
  Max shoe size: <input type="text" name="max" value="<?=$maxSize; ?>"><br>
  <input type="submit" value="Submit form">
</form>

<?="hello" ?>と同じ略記を使用しています<?php echo "hello" ?>

于 2013-06-18T17:44:49.183 に答える