我有一份表格提交。当我点击提交按钮时,将检查必填字段,如果字段为空,我打开一个弹出窗口,使用javascript显示错误消息。因此,一旦我关闭弹出窗口,我就不会返回上一页而是显示一个白色的空白屏幕。
我的验证和打开弹出窗口的代码是:
<?php
if (isset($_POST['submit']))
{
if ($task == '' || $comments == '')
{
// generate error message
print "<script type='text/javascript'>";
print "window.open('error.php','new_window1','status=1,scrollbars=1,resizable=0,menu=no,width=320,height=220');";
print "</script>";
}
else
{
$sql3= "INSERT INTO work (task, comments, assignee, type, priority, dataum1, dataum2, status) VALUES ('$task', '$comments', '$assignee', '$type', '$priority', '$dataum1', '$dataum2', '$status')";
mysqli_query($mysqli,$sql3) or die(mysqli_error($mysqli));
}
}
?>
答案 0 :(得分:0)
由于您使用的是JS-popup,您可能希望使用JavaScript执行强制检查客户端(尽管也保留服务器端检查),然后如果必要的字段不是,则阻止表单发布填写完毕。
答案 1 :(得分:0)
将表单数据发布到您拥有表单的同一页面。并将上述验证代码添加到该页面的顶部。因此,当发生验证错误时,用户会看到一个带有错误消息的弹出窗口,但是他位于表单所在的同一页面上。