保存表格数据?

时间:2011-08-24 05:35:14

标签: php html

有没有办法保存表单数据,这样如果提交失败,他们不必重新输入所有内容?出于某种原因,我在使用Chrome的脚本上遇到错误,但在FireFox上没有。 Chrome并不总是会发生这种情况,并不是主要问题。如果他们提交,然后页面没有加载,他们会丢失他们回去时输入的所有内容。到目前为止,我只考虑过一件事,但这似乎并不实用。当他们按提交时将表单数据保存到cookie。

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

这取决于“提交失败”的含义。如果您的意思是存在服务器错误,并且他们必须按“返回”,则很难。

然而,如果你的意思是失败,就像他们忘了放电子邮件那样失败,这是一个解决方案:

您可以从$ POST或任何地方获取以前的值,并将它们重新粘贴到HTML标记中。例如:

<?php
$prevCustEmail = makeItASafeString($_POST['custEmail']);
?>
<input type="text" id="custEmail" name="custEmail" value="<?php echo $prevCustEmail; ?>" />

编辑:对于服务器的事情,cookie hack可能是最好的。这是另一个黑客的想法:你可以修改你的500服务器错误页面上有一个按钮,上面写着“返回表单”,这只会在这个$ _POST数据刚刚出现的情况下出现。该按钮实际上将提交一个相同的表单,其中每个都是type = hidden。然后,这些数据将被转移到上一页并填入上面。

第三个黑客将是在iframe中加载页面,并使成功页面跳出iframe。服务器错误不会那样做。然后使用Javascript onSubmit来检测出错的地方,或者只是希望用户注意到没有发生任何事情并再次点击“提交”。