提交后选择框的值

时间:2013-03-28 11:14:25

标签: php select

我有简单的代码   文件名: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>

我想保留在表单提交之前选择的特定值。 但我没有得到理想的输出。 任何帮助表示感谢。

7 个答案:

答案 0 :(得分: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>'; 

答案 1 :(得分: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.在selected="selected条件

if

答案 2 :(得分: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?>

答案 3 :(得分: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>

答案 4 :(得分:0)

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

答案 5 :(得分: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">

答案 6 :(得分: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">