0

私は PHP でいくつかのフォーム コーディングに取り組んでおり、JavaScript を有効にするとすべてがうまく機能します。しかし、過去の経験と、JavaScript を無効にすると他のサイトがうまく機能しないという貧弱な経験から、今回のプロジェクトではもっと注意を払うべきだと思いました。

input type="text"POST フィールドに関しては、これは問題ではありません。しかし、私がたまたま使用しているドロップダウンでは、それを持続させることができません。できますが、デフォルトの選択は正しくありません。ここにいくつかのコードがあります...

基本的なドロップダウン構造:

<select id="topic" name="topic">
    <option value="Select an option">Select an option</option>
    <option value="Topic A">Topic A</option>
    <option value="Topic B">Topic B</option>
    <option value="Topic C">Topic C</option>
</select>

selectedPOSTデータとブレンドすると、次のように機能する可能性があると思いました。

<select id="topic" name="topic">
    <option selected="selected" value="Select an option">Select an option</option>
    <option value=""><?php echo $_POST['topic']; ?></option>
    <option value="Topic A">Topic A</option>
    <option value="Topic B">Topic B</option>
    <option value="Topic C">Topic C</option>
</select>

しかし、それは持続しません。デフォルトの「オプションを選択する」に戻るだけです。

これを試してもうまくいきませんでした:

<select id="topic" name="topic">
    <option value="Select an option">Select an option</option>
    <option selected="selected" value=""><?php echo $_POST['topic']; ?></option>
    <option value="Topic A">Topic A</option>
    <option value="Topic B">Topic B</option>
    <option value="Topic C">Topic C</option>
</select>

持続しますが、正しいデフォルトがありません。空白で開始します (POST がまだ入力されていないため)。

私はいくつかの Google 検索を行ってきましたが、この種のことに非常に役立つものは実際には見つかりませんでした。そのため、次にどこに行けばよいかわかりません。アイデア/提案はありますか?

事前にどうもありがとうございました!

4

2 に答える 2

4

私は通常、次のようなことをします。

<select id="topic" name="topic">
<option value="Select an option">Select an option</option>
<?php
    $topics=Array("Topic A","Topic B","Topic C");
    foreach($topics as $topic){
        echo '<option value="'.$topic.'"'.($_POST['topic']==$topic?' selected="selected"':'').'>'.$topic.'</option>';
    }
?>
</select>

これが行うことは、説明したように選択ボックスを出力することですが、 $_POST 変数に一致するオプションに selected="selected" 属性を追加します。

于 2012-06-27T00:06:58.400 に答える
1
<?php 
$topic='';
if isset($_POST)
  if is_array($_POST)
    if isset($_POST['topic'])
      $topic=$_POST['topic'];
?>

<select id="topic" name="topic">
    <option value="Select an option">Select an option</option>
    <option value="Topic A"<?php if($topic=='Topic A') echo ' selected="selected"'; ?>>Topic A</option>
    <option value="Topic B"<?php if($topic=='Topic B') echo ' selected="selected"'; ?>>Topic B</option>
    <option value="Topic C"<?php if($topic=='Topic C') echo ' selected="selected"'; ?>>Topic C</option>
</select>
于 2012-06-27T00:09:38.077 に答える