Php 如果javascript条件为true,则重定向不起作用
我有一个表单,我验证javascript函数中的字段。验证之后,我想重定向到另一个页面。我正在尝试以下形式:Php 如果javascript条件为true,则重定向不起作用,php,javascript,html,validation,redirect,Php,Javascript,Html,Validation,Redirect,我有一个表单,我验证javascript函数中的字段。验证之后,我想重定向到另一个页面。我正在尝试以下形式: <form action="" method="post" name="form" onsubmit="return validate()"> User Name : <input type="text" name="realname" size="19"><span id="realnameerror" ></span> <br&g
<form action="" method="post" name="form" onsubmit="return validate()">
User Name : <input type="text" name="realname" size="19"><span id="realnameerror" ></span>
<br>
E-Mail : <input type="text" name="email" size="25"><span id="emailerror" ></span>
<br>
PhoneNo : <input type="phoneno" name="phoneno" maxlength="10" size="25"><span id="phonenoerror" ></span>
<br>
<input type="submit" value="Submit">
</form>
但它仍然不起作用。除了window.location之外,我还尝试了window.location.href和document.location.href。我真的认为我在剧本里遗漏了一些东西。。。如果你注意到了什么,请让我想想。谢谢大家!
我试图在IF语句中添加一个警报,它出现了2秒钟,然后进行重定向。如果我不发出警报,我的重定向就不起作用。代码如下:
if (rtn) {
window.location="http://test.dev";
alert(rtn);
}
将上述内容替换为
return rtn;
如果我们返回false,则不提交表格,否则提交
此外,表单将提交到“action”,因此请确保表单的“action”属性设置为“”警告此代码中的某些内容
if (rtn)
{
alert('you here');
window.location="http://test.dev";
return rtn;
}
如果警报出来,你就来了。如果不是,你的第一个条件是错误的。我们分头解决问题的地方 将表单标签的
操作设置为http://test.dev
。仅此而已
编辑:您从未想过表单数据可能不会发布到http://test.dev
如果使用了window.location.href
?如何操作
<form action="http://test.dev" method="post" name="form" onsubmit="return validate()">
<script type="text/javascript">
var hasFocus = false;
function checkName(form) /* for name validation */
{...}
function checkEmail(form) /* for email validation */
{...}
function validPhone(form) /* for phone validation */
{...}
function validate()
{
hasFocus = false;
var form = document.forms['form'];
var ary=[checkName,checkEmail,validPhone];
var rtn=true;
var z0=0;
for (var z0=0;z0<ary.length;z0++)
{
if (!ary[z0](form))
{
rtn=false;
}
}
if (rtn)
{
return rtn;
}
else return rtn;
}
</script>
var hasFocus=false;
函数checkName(form)/*用于名称验证*/
{...}
功能检查电子邮件(表格)/*用于电子邮件验证*/
{...}
功能validPhone(表格)/*用于电话验证*/
{...}
函数验证()
{
hasFocus=false;
var form=document.forms['form'];
var ary=[checkName,checkEmail,validPhone];
var rtn=真;
var z0=0;
对于(var z0=0;z0请尝试jquery ajax重定向true语句
$.ajax({url:'search.php',数据:“check_qc=“+qc,async:false,
成功:函数(响应){if(响应==1){window.location=”http://google.com";
返回false;}})
当第一个条件为真时,页面重定向到给定的url,第二个条件则不重定向。#1了解缩进;#2控制台比我们更快更容易地发现错误,尤其是使用半可读的codeif(rtn){//window.location=“”//return rtn;}一件事是你做的var url=“”;然后是alert(url)。复制警报框中的url。粘贴到浏览器中。这样您就知道它是否有效。使用chrome developer工具调试它,使用断点可以更容易地知道您是否真的在执行该窗口。位置我在那里放置了一个警报,它会显示该警报大约2秒钟,然后将我重定向到test.dev。如果我没有放置aler不在那里,它不能重定向!我不明白
return rtn;
if (rtn)
{
alert('you here');
window.location="http://test.dev";
return rtn;
}
<form action="http://test.dev" method="post" name="form" onsubmit="return validate()">
<script type="text/javascript">
var hasFocus = false;
function checkName(form) /* for name validation */
{...}
function checkEmail(form) /* for email validation */
{...}
function validPhone(form) /* for phone validation */
{...}
function validate()
{
hasFocus = false;
var form = document.forms['form'];
var ary=[checkName,checkEmail,validPhone];
var rtn=true;
var z0=0;
for (var z0=0;z0<ary.length;z0++)
{
if (!ary[z0](form))
{
rtn=false;
}
}
if (rtn)
{
return rtn;
}
else return rtn;
}
</script>
if (rtn)
{
alert('hello there');
window.location="http://new/new.php";
return true;
}else{
return false;
}