php - 当我返回页面时,下拉菜单不会保持选中状态

标签 php html

关于为什么以下脚本的下拉菜单不会停留在所选值上的任何想法:

 if (isset($_POST['Submit1'])) {
     $frequency = $_POST['frequency'];
     $fileName = 'ConfigurationFile.txt';

     $lines = file($fileName);

     $lines[0]="Center_frequency= ". $frequency."\n";

     file_put_contents($fileName, implode($lines));

 } else {

     $fileName = 'ConfigurationFile.txt';

     $lines = file($fileName);

     $frequency=explode(" ",$lines[0]);
     $frequency=$frequency[1];
 }
 ?>

但是如果我把我的号码放在引号中表示

 <?php

 if (isset($_POST['Submit1'])) {
     $frequency = $_POST['frequency'];
     $fileName = 'ConfigurationFile.txt';

     $lines = file($fileName);

     $lines[0]="Center_frequency= ".'"'. $frequency.'"'."\n";

     file_put_contents($fileName, implode($lines));

 } else {

     $fileName = 'ConfigurationFile.txt';

     $lines = file($fileName);

     $frequency=explode("\"",$lines[0]);
     $frequency=$frequency[1];
 }
 ?>

它会像一个魅力一样工作,这意味着所选值将保留并且下拉菜单不会转到列表中的第一个值。 这是下拉菜单的html代码

     <form action="test.php" name="Calculation" method="post">
     Center Frequency: 
     <select name="frequency" >

     <?php $attr= 'selected="selected"'; ?>

    <option value="4.463" <?php echo $frequency  == '4.463' ? $attr :  ''; ?>>4.463</option>
    <option value="5.2625" <?php echo $frequency  == '5.2625' ? $attr : ''; ?>>5.2625 </option>
    <option value="9.33"   <?php echo $frequency  == '9.33' ? $attr : ''; ?>>9.33 </option>
    <option value="13.5"   <?php echo $frequency  == '13.5' ? $attr : ''; ?>>13.5 </option>
    <option value="16.15"  <?php echo $frequency  == '16.15' ? $attr : ''; ?>>16.15 </option>
    <option value="24.525" <?php echo $frequency  == '24.525' ? $attr : ''; ?>>24.525</option>
    <option value="26.275" <?php echo $frequency  == '26.275' ? $attr : ''; ?>>26.275</option>

   </select>

    <Input Type = "Submit" Name ="Submit1" Value = "Save Parameters">

    </form>

最佳答案

$fileName = 'ConfigurationFile.txt';

        $lines = file($fileName);

        $frequency=explode(" ",$lines[0]);
        $frequency=$frequency[1];

        var_dump($frequency);
        //string(5) "13.5 " <== space

解决方案

$fileName = 'ConfigurationFile.txt';

        $lines = file($fileName);

        $frequency=explode(" ",$lines[0]);
        $frequency=trim($frequency[1]); //trim function

http://php.net/manual/pl/function.trim.php

关于php - 当我返回页面时,下拉菜单不会保持选中状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30805081/

相关文章:

html - Grails 文档标签

javascript - 在博客中放置一个 iframe 并使其正确适合

javascript - d3 中的条形位置与轴不匹配

php - Parsehub API PHP

php - 整数类型的 PDO 查询

html - 是否可以让黄色背景只包围 "This is Main website"字?

html - 将 div 居中(水平和垂直),如果向下滚动则不要停留在中间

php - WordPress 如何仅获取自定义帖子类型的父帖子

php - 如何在 html 上只打印我想要的分区?

php - 是什么原因导致DB PDO连接失败: SQLSTATE[08004] [1040] Too many connections