在窗口消息后保留文本字段数据


remain text field data after window message

当用户输入错误或空字段值时,窗口消息提示退出,我如何保留用户在窗口消息后输入的文本字段中的数据?

<?php if(empty($value) && in_array($key, $required_fields) === true) {?>
        <script type="text/javascript">
        alert("Fields marked with an asterisk are required");
        history.back();
        </script>
<?php } ?>

至少有三种解决方案

  1. 客户端HTML5:添加required属性到每个必需的元素(见这里的支持)
  2. 客户端javascript见这里
  3. 服务器端php(如您所做的):将POST值存储到SESSION中,并将它们设置为这些元素的值

我认为最好的方法是使用ajax来阻止页面更改。或者不要在if中使用javascript,而是将用户给出的答案作为默认值重新打印整个表单。你根本不应该使用history.back()来做你想做的事情。