您好我想填写报名表。 但是,如果在点击提交后数据失败,我不知道如何返回数据。 数据变空,所以我想在用户点击提交之前恢复。
<form id="form1" name="form1" method="post" action="doregister.php">
<input type="text" name="txtnama" id="txtnama" />
<textarea name="txtalamat" id="txtalamat" cols="30" rows="5"></textarea>
<input type="submit" name="txtsubmit" id="txtsubmit" value="Submit" />
<input type="reset" name="txtreset" id="txtreset" value="Reset" />
</form>
这是图片:
http://tinypic.com/r/160sopk/5
提前感谢您的帮助,如果之前有人问过,我真的很抱歉。
答案 0 :(得分:1)
您必须放回已发布的值:
<form id="form1" name="form1" method="post" action="doregister.php">
<input type="text" name="txtnama" id="txtnama"<?php echo (isset($_POST['txtnama'])) ? ' value="'.$_POST['txtnama'].'"' : '') ?>" />
<textarea name="txtalamat" id="txtalamat" cols="30" rows="5"><?php echo (isset($_POST['txtalamat'] ? $_POST['txtalamat'] : '')) ?></textarea>
<input type="submit" name="txtsubmit" id="txtsubmit" value="Submit" />
<input type="reset" name="txtreset" id="txtreset" value="Reset" />
</form>
如果doregister.php
是另一个页面,您应检查当前页面中的值,然后重定向到doregister.php
,如果可以的话。
答案 1 :(得分:1)
只需将POST数组中每个元素的值回显到value
标记的input
属性即可。确保在回显它们之前先检查它是否已设置为空,否则您可能会收到一些错误通知
<input type="text" name="txtnama" id="txtnama" value="<?php if (isset($_POST['txtnama'])){ echo $_POST['txtnama']; } ?>" />
答案 2 :(得分:0)
正如Glide和Kemal已经说过的那样,那是怎么做的。
我通过在页面顶部设置变量来分隔它们:
$txtnama = (isset($_POST['txtnama']) ? $_POST['txtnama'] : '');
然后将其包含在以下形式中:
<input type="text" name="txtnama" value="<?php echo $txtnama; ?>" />
我更喜欢这个,因为它在HTML中感觉不那么混乱。此外,当我创建一个“编辑”表单时,我可以使用相同的表单,只需将其放在顶部:
$txtnama = (isset($_POST['txtnama']) ? $_POST['txtnama'] : ($customer->txtnama!='' ? $customer->txtnama: ''));
如果表单尚未提交,则将值设置为数据库值。