当用户输入错误或空字段值时,窗口消息提示退出,我如何保留用户在窗口消息后输入的文本字段中的数据?
<?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 } ?>
至少有三种解决方案
- 客户端HTML5:添加
required
属性到每个必需的元素(见这里的支持) - 客户端javascript见这里
- 服务器端php(如您所做的):将POST值存储到SESSION中,并将它们设置为这些元素的值
我认为最好的方法是使用ajax来阻止页面更改。或者不要在if中使用javascript,而是将用户给出的答案作为默认值重新打印整个表单。你根本不应该使用history.back()来做你想做的事情。