1

我试图在提交后将输入保留在 html 表单字段中。所以,我用过

<input type="text" name="myField" value="<?php echo isset($_POST['myField']) ? $_POST['myField'] : 'column_name' ?>" />

如果输入类型为text. 它不适用于<textarea>& <select>

4

2 回答 2

2

<textarea>s 没有value属性。他们有一个身体:

<textarea name="myField2"><?php echo isset($_POST['myField2']) ? $_POST['myField2'] : 'column_name' ?></textarea>

同样,<select>s 没有value属性。a 的值<select>由包含<option>的具有属性selecteds 确定。这个留给读者作为练习。提示:您需要遍历<select>s<option>并有条件地将selected属性添加到一个或多个<option>s。

于 2012-12-06T04:35:03.480 回答
2

对于文本区域:

<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 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; ?>
于 2012-12-06T04:35:58.503 回答