在用户提交html表单后处理html表单的脚本中,我使用js alert来通知用户有问题。如果我按照表格所在页面的PHP“include”警告,警报会发送到页面顶部,它会改变我的格式(通过我认为的字符编码)。
if(!$last_name){
echo '<script language="javascript">';
echo 'alert("Your last name is required.")';
echo '</script>';
include 'join.php';
exit();
}
如果我使用PHP header(),它会让用户再次访问该页面,并且它们会松散它们在表单中输入的内容,并且必须从头开始。
if(!$last_name){
echo '<script language="javascript">';
echo 'alert("Your last name is required.")';
echo '</script>';
header('Location: join.php');
exit();
}
提交表单后,如果用户收到js警报(并单击“确定”),我希望用户保留在页面上,填写的字段与提交表单时一样。有什么建议?在PHP中解决这个问题?
我知道我可以将它们重定向到包含特定错误的页面,但我试图避免jhaving制作所有这些页面。
答案 0 :(得分:1)
您想要实现的目标 1. Javascript验证? 2.服务器端验证?
对于Javascript验证 - 在提交表单之前使用onsubmit事件表单并验证输入。如果不是根据验证输入,请不要提交表格,只是提醒并把焦点放在不符合要求的字段上。
对于服务器端验证 - 提交表单,验证输入,将所有错误记录到php变量中,并将其回显到您希望它的输入字段的顶部或旁边..如果所有输入都正常,则使用标头将用户重定向到其他页。
请澄清适当的细节..
答案 1 :(得分:1)
您可以使用AJAX并等待响应,当您收到响应时,您可以通过javascript获取javascript以处理错误。
你需要更清楚自己要做什么。
您是否尝试让用户填写表单,当表单填写不正确时,它会告诉用户填写缺少的字段,而不是重定向到新页面?
如果是这种情况,您可以在javascript中编写一个函数,并将提交按钮绑定到该函数,如果检查失败,则不提交,否则如果一切正常,则继续。