【发布时间】: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