javascript - IE9 中的选择问题 - 在其他浏览器中它工作正常

标签 javascript php html internet-explorer internet-explorer-9

我对这个特定的表单有问题,我需要首先选择一个值,然后提交表单。提交表单效果很好,但是在所有浏览器中都会选择默认选择值并且可接受,但在 IE 中没有选择默认选择值。在 IE 中,默认情况下没有选择任何内容。

如何解决这个问题?

问题图片: the selection form

:

  <select name="formQuality" id="formQuality"  value="acceptable">
  <option  value="acceptable">Acceptable</option> 
  <option  value="good">Good</option>
  <option     value="better">Better</option>
  <option    value="excellent">Excellent</option>
  <option    value="best">Best</option>
  </select> 

<?php  
if(isset($_POST['SubmitButton'])){ //check if form was submitted
$input = $_POST['inputText']; //get input text
$varQuality = $_POST['formQuality'];
$message = "Success! You entered: ".$input;
}    
?>

<br>   
<form action="" method="post">
  <h1>Choose Quality:</h1>
  
  <?php 
      $thequa = htmlspecialchars($_POST['formQuality']);						  
  ?>
  
  <select name="formQuality" id="formQuality"  value="<?php echo $thequa;?>">
  <option <?php if ($thequa1 == 'acceptable') { ?>selected="true" <?php }; ?> value="acceptable">Acceptable</option>
  <option selected="true" value="acceptable">Acceptable</option>  
  <option <?php if ($_POST['formQuality'] == 'good') { ?>selected="true" <?php }; ?> value="good">Good</option>
  <option  <?php if ($_POST['formQuality'] == 'better') { ?>selected="true" <?php }; ?>   value="better">Better</option>
  <option  <?php if ($_POST['formQuality'] == 'excelent') { ?>selected="true" <?php }; ?>  value="excellent">Excellent</option>
  <option  <?php if ($_POST['formQuality'] == 'best') { ?>selected="true" <?php }; ?>  value="best">Best</option>
  </select> 
 
  <textarea name="inputText" cols="100" rows="20" style="border:solid 1px orange;"><?php echo $thetext;?></textarea> 
  <p>
  <input type="submit" value="Rewrite" name="SubmitButton"/>
 
</form> 

最佳答案

预选择选项的预期方法是在选项元素上设置 selected 属性,而不是向选择字段添加 value 属性。

<select name="formQuality" id="formQuality">
<option value="acceptable" selected>Acceptable</option> 
<option value="good">Good</option>
<option value="better">Better</option>
<option value="excellent">Excellent</option>
<option value="best">Best</option>
</select> 

这会在所有浏览器(包括 IE)中产生预期结果。

关于javascript - IE9 中的选择问题 - 在其他浏览器中它工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32823228/

相关文章:

php - pg_free_result() 是否必要,即使结果超出范围?

php - Docker(NGINX、PHP、mySQL)和 Windows - 文件权限

javascript - 从页面中获取所有文本作为字符串

javascript - 某些触摸事件后选择了多个选项卡

javascript - 如何在 Next.js 中访问客户端窗口方法

javascript - 使用插件将所有背景图像的不透明度设置为 0

javascript - v8 中 node.js 和 chrome 的区别

javascript - 添加自定义验证时出现"Sys is not defined"错误(MVC万无一失的验证)

php - 与默认的 Ubuntu 构建相比,为什么重新编译的 PHP 使用大量 CPU?

html - 在 Bootstrap 导航栏中居左 <ul> 以适合右边的