【问题标题】:How to keep typed in values on a select box after submitting the form提交表单后如何在选择框中输入值
【发布时间】:2017-11-22 22:02:19
【问题描述】:

我想在提交表单后保留选定的值。因为,如果出现表单错误,我想保持输入不被删除。它适用于数字 1 到 5。但第六个选项在提交后不会 POST 值。它发布一个空字段。你知道为什么吗?

        <script>        
                $(document).ready(function(){
                    $("#select").change(function(){
                        $("input[name='percent']").val($(this).val());
                    });
                });
        </script>
              <select id="select" name="selector">
            /*1*/     <option>Choose</option>   
            /*2*/     <option  value="10% ">10% </option>
            /*3*/     <option  value="20% ">20% </option>
            /*4*/     <option  value="33% ">33% </option>
            /*5*/     <option  value="50% ">50% </option>
            /*6*/     <option  value=" <?php echo $_POST['selector'];  ?> ">other</option>
                </select>
                <input type="text" name="percent"  id="input"
                <?php  if(isset($_POST['selector'])) { echo "value=".$_POST['selector'].""; } else { echo "placeholder=\"Type in other options\""; } ?> >

【问题讨论】:

  • 可能是因为它的value 属性一开始就为空...您是否检查过您的代码输出的值是否如您所期望的那样开始?
  • 一开始是空的,但是用户在输入框中输入了值。我希望输入框的值应该出现在这里:
  • 那么您可能需要从访问正确的值开始。您的输入字段的名称为 percent,因此它不会$_POST['selector'] 下找到...
  • 您现在终于检查是否在该选项的 value 属性中创建了任何实际内容?如果用户首先填写文本字段并提交表单,这可能只设置一个选项值是明确的,对吧?
  • 不,事实并非如此。关于表单提交,设置了selected 属性的选项与用户手动选择的选项没有区别。选中被选中,浏览器不关心如何或由谁选择。

标签: php forms error-handling


【解决方案1】:

“Other”只是显示的名称,发送的值是$_POST['selector']——所以如果它是空的,并且发送的是空值!

【讨论】:

  • 我知道,但是选项 1 到 5 的 $_POST['selector'] 是相同的。它从他们那里获得价值。但它没有从第六个选项中获取输入值。
  • 它没有得到一个,因为你从来没有给选项一个值。 (或者更准确地说,你给了它一个 empty 值,所以这就是它提交的内容。)
  • 确实如此。现在我尝试了以下第六个选项: 仍然帖子为空...
  • 你在正确的轨道上。现在你需要指定一个 ELSE 块,当 $_POST 为空时使用什么值!
猜你喜欢
  • 1970-01-01
  • 2021-11-09
  • 1970-01-01
  • 2021-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-14
相关资源
最近更新 更多