1

私は単純なコードを持っています ファイル名:newEmptyPHP.php

<form method="post" action="newEmptyPHP.php">Title:
    <select name="title">
        <option value="select">Select</option>;
        <option value="Dr" selected=<?php if(isset($_POST[ 'title'])=="Dr" ){ echo "selected"; } ?>>Dr</option>';
        <option value="Prof">Prof</option>';
        <option value="Mr">Mr</option>';
        <option value="Ms">Ms</option>';
        <option value="Miss">Miss</option>';
        <option value="Mrs">Mrs</option>';</select>
    <input type="submit" value="submit">
</form>

フォーム送信前に選択した特定の値を保持したい。しかし、私は望ましい出力を得られませんでした。助けていただければ幸いです。

4

7 に答える 7

2

これを変える

<option value="Dr" selected=<?php if(isset($_POST['title']) == "Dr")
{ echo "selected";  } ?> >Dr</option>'; 

<option value="Dr" <?php if(isset($_POST['title']) && $_POST['title'] == "Dr")
{ echo "selected='selected'";  } ?> >Dr</option>'; 
于 2013-03-28T11:18:07.080 に答える
0

変化する

<option value="Dr" selected=<?php if(isset($_POST['title']) == "Dr"){ echo "selected";  } ?> >Dr</option>';

に :

<option value="Dr" <?php if(isset($_POST['title']) && $_POST['title'] == "Dr"){ echo 'selected="selected"';  } ?> >Dr</option>';

1.isset値をチェックしている場所を削除すると、またはissetいずれtrueかが返されますfalse
2.条件selected="selected内で作成if

于 2013-03-28T11:18:29.763 に答える
0
<?php if(isset($_POST['title']) == "Dr"){ echo "selected";  } ?>

への変更

<?php if(isset($_POST['title']) && $_POST['title'] == "Dr"){ echo "selected";  } ?>

ただし、JS / jQuery を使用することをお勧めします。jQueryの例:

<?php if(isset($_POST['title']) && $_POST['title'] == "Dr"):?>
    <script type="text/javascript">
    $(function(){
        $('select[name=title]').val('<?php echo html_special_chars($_POST[''title'])?>');
    });
    </script>
<?php endif?>
于 2013-03-28T11:19:14.553 に答える
0

静的なオプション値があると思います。その場合は、以下のようにすべてのオプションを確認する必要があります。

<form method="post" action="newEmptyPHP.php">
    Title:<select name="title" > 
                                <option value="select" >Select</option>; 
<?php 
     $selected = ""; 
     if(isset($_POST['title']) &&  $_POST['title'] == "Dr")
     { 
       $selected = 'selected="selected"'; 
     } 
 ?>
 <option value="Dr" <?php echo $selected; ?>>Dr</option> 
 <option value="Prof">Prof</option> 
 <option value="Mr">Mr</option>
 <option value="Ms">Ms</option> 
 <option value="Miss">Miss</option> 
 <option value="Mrs">Mrs</option> 
 </select>
 <input type="submit" value="submit">
</form>
于 2013-03-28T11:20:21.873 に答える
0
<?php 
if($_POST['title'] == "Dr")
{ ?>
<option value="Dr" selected>Dr</option>
<?php
}
else
{
?>
<?php
<option value="Dr">Dr</option>
<?php
}
?>
于 2013-03-28T11:20:31.030 に答える
0

コードに誤りがあります。あなたが探しているisset(Something)か、trueまたはfalse返されません。Dr

これでリトライ

<form method="post" action="newEmptyPHP.php">
    Title:<select name="title" > 
              <option value="" >Select</option> 
              <option value="Dr" selected=<?php if(isset($_POST['title']) && $_POST['title'] == "Dr"){ echo "selected";  } ?> >Dr</option>'; 
              <option value="Prof" <?php if(isset($_POST['title']) && $_POST['title'] == "Prof"){ echo "selected";  } ?>>Prof</option>'; 
              <option value="Mr" <?php if(isset($_POST['title']) && $_POST['title'] == "Mr"){ echo "selected";  } ?>>Mr</option>'; 
              <option value="Ms" <?php if(isset($_POST['title']) && $_POST['title'] == "Ms"){ echo "selected";  } ?>>Ms</option>'; 
              <option value="Miss" <?php if(isset($_POST['title']) && $_POST['title'] == "Miss"){ echo "selected";  } ?>>Miss</option>'; 
              <option value="Mrs" <?php if(isset($_POST['title']) && $_POST['title'] == "Mrs"){ echo "selected";  } ?>>Mrs</option>'; 
         </select>
<input type="submit" value="submit">
于 2013-03-28T11:24:58.360 に答える
0

私は目的のためにむしろこのコードを好む

$option_array = array('select'=>'select','mr'=>'mr'... other values);

<?php
  $option_string = '';
 foreach($option_array as $key=>$value)
 {
   if($key == $_POST['title'])
   {
     $selected = 'selected';
   }
   else
   {
    $selected = '';
   }
   $option_string .= "<option value='$key' $selected>$value</option>";
}
?>
<form method="post" action="newEmptyPHP.php">Title:
<select name="title">
<?php echo $option_string; ?>    
</select>
<input type="submit" value="submit">

于 2013-03-28T11:28:14.307 に答える