2013-10-28 34 views
0

我尝试使用JavaScript重定向到我网站上的PHP页面,但是,当我这样做时,除了警报框外,没有任何反应,如果我没有填写参数。有什么我做错了吗?JavaScript重定向错误

document.getElementById("submit").onclick = check; 
function check() 
{ 
    if(document.getElementById("name").value == "") 
    alert("The field 'Name' is required."); 
    else if (document.getElementById("message").value == "") 
    alert("The field 'Message' is required"); 
    else 
    window.location.href = "scripts/main/contact.php?msg=" + document.getElementById("message").value; 
} 
+1

您是否检查了控制台的错误消息? –

+0

只有一个条件会通过,它似乎是一个与警报框 – Ibu

+3

document.getElementById(“提交”)。onclick = check();不是吗? – gypsyCoder

回答

2

您的默认表单操作将覆盖您的重定向。从处理程序返回false以防止它发生:

function check() 
{ 
    if(document.getElementById("name").value == "") 
     alert("The field 'Name' is required."); 
    else if (document.getElementById("message").value == "") 
     alert("The field 'Message' is required"); 
    else 
     window.location.href = "scripts/main/contact.php?msg=" + document.getElementById("message").value; 

    return false; // <------ here 
} 
+0

什么是默认操作? – Manoj

+0

@Manoz无论写在表单的action属性中。如果没有写入(我的猜测),那么页面被重新加载。 – Tibos