我试图在提交后将输入保留在html表单字段中。所以,我用过像
<input type="text" name="myField" value="<?php echo isset($_POST['myField']) ? $_POST['myField'] : 'column_name' ?>" />
如果输入类型为text
,它的工作效果很好。它与<textarea>
&amp; <select>
。
答案 0 :(得分:2)
<textarea>
s don't have a value
attribute.他们有一个身体:
<textarea name="myField2"><?php echo isset($_POST['myField2']) ? $_POST['myField2'] : 'column_name' ?></textarea>
同样,<select>
s do not have a value
attribute。 <select>
的值由包含<option>
的{{1}}确定。这个留给读者作为练习。提示:您需要迭代<select>
的{{1}}并有条件地将<option>
属性添加到一个或多个selected
中。
答案 1 :(得分:2)
对于textarea:
<textarea><?php echo isset($_POST['myField']) ? $_POST['myField'] : 'column_name' ?></textarea>
选择:
<select>
<option value='xx' <?php echo isset($_POST['myField'])&&$_POST['myField']=='xx'?'selected="selected"':''?>>XX</option>
<option value='yy' <?php echo isset($_POST['myField'])&&$_POST['myField']=='yy'?'selected="selected"':''?>>YY</option>
</select>
如果您使用的是jQuery,我更喜欢使用javascript填充select:
<select name='myField'>
<option value='xx'>XX</option>
<option value='yy'>YY</option>
</select>
<?php if(isset($_POST['myField'])):?>
<script type='text/javascript'>
$("select[name=myField] option[value='<?php echo $_POST['myField']';?>']").attr("selected","selected");
</script>
<?php endif; ?>