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将返回truefalse
2.Makeselected="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)将返回truefalse不会返回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 回答