Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript js警报后的页面重定向-包含和标题的备选方案_Javascript_Php - Fatal编程技术网

Javascript js警报后的页面重定向-包含和标题的备选方案

Javascript js警报后的页面重定向-包含和标题的备选方案,javascript,php,Javascript,Php,在用户提交html表单后处理该表单的脚本中,我使用js警报通知用户问题。如果我对表单所在的页面使用PHP“include”跟踪该警报,则该警报将发送到页面顶部,并通过我认为的字符编码更改我的格式 if(!$last_name){ echo '<script language="javascript">'; echo 'alert("Your last name is required.")'; echo '</script>'; inclu

在用户提交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标题,它会让用户再次访问页面,他们会丢失表单中输入的内容,必须从头开始

if(!$last_name){
    echo '<script language="javascript">';
    echo 'alert("Your last name is required.")';
    echo '</script>';
    header('Location: join.php');
    exit(); 
}
提交表单后,如果用户收到js警报并单击ok,我希望用户保持在页面上,并像提交表单时一样填写字段。有什么建议吗?用PHP解决这个问题

我知道我可以将它们重定向到一个带有特定错误的页面,但我正试图避免创建所有这些页面。

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

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

对于服务器端验证-提交表单,验证输入,将所有错误放入php变量中,并在输入字段顶部或相邻位置回显它。。若所有输入都很好,那个么使用标题将用户重定向到其他页面


请澄清适当的细节。

您可以使用AJAX并等待响应,当您收到响应时,您可以通过javascript处理它,然后获取javascript来处理错误

你需要更清楚地知道你想做什么

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


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

您无法回送,然后redirect@JelleKeizer您不能回显headerlocation:???不,如果您回显php自动发送标题。这没有任何意义。尝试类似这样的simpel教程OK:-谢谢@JellekeizerThank@vineet verma,我将问题改为Hoppy ClarifyThank@NZ Mikey,我将问题改为Hoppy Clarify,我仍然建议使用AJAX,提交时,它可以得到错误,并且不会重定向,它会将用户留在页面上而不重新加载,这不是你想要的吗?这就是我想要的,我正在检查是否有其他选择。我不认为有一种方法可以直接在php中实现,因为php是服务器端,你需要浏览器端来完成你想要做的事情。AJAX或Javascript将是未来的发展方向。