js警报之后的页面重定向-include和header的替代选项

Page redirect following js alert - alternatives to include and header

本文关键字:header 选项 -include 之后 js 重定向      更新时间:2023-09-26

在用户提交html表单后处理该表单的脚本中,我使用js警报来通知用户问题。如果我用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解决这个问题?

我知道我可以将它们重定向到一个有特定错误的页面,但我正在努力避免jhave制作所有这些页面。

您可以使用AJAX并等待响应,当您收到响应时,您可以通过javascript处理它,让javascript处理错误。

你需要更加清楚你想做什么。


您是否试图让用户填写表单,当表单填写不正确时,它会"告诉"用户填写缺失的字段,而不是重定向到新页面?

如果是这种情况,您可以用javascript编写一个函数,并将提交按钮绑定到该函数,如果检查失败,则不要提交,否则,如果一切正常,则继续。

您想要实现的目标1.Javascript验证?2.服务器端验证?

对于Javascript验证-使用表单的onsubmit事件,并在提交表单之前验证输入。如果输入不符合验证,则不要提交表单,只需提醒并关注不符合要求的字段。

对于服务器端验证-提交表单,验证输入,将所有错误带入php变量,并将其回声到您希望的输入字段的顶部或附近。如果所有输入都很好,则使用标头将用户重定向到其他页面。

请澄清适当的细节。。