2012-12-06 129 views
1

我在提交后试图将输入保留在html表单字段中。所以,我用像在提交表单后将数据保存在html表格中

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

它的工作很好,如果输入类型为text。它不适用于<textarea> & <select>

回答

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 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; ?> 
+0

感谢您的回复:) – Atik

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>确定,其中有the selected attribute。这一个留给读者作为练习。提示:您需要遍历<select><option> s,并有条件地将selected属性添加到<option>中的一个或多个。

+0

我得到它,非常感谢:) – Atik

相关问题