JavaScript警报后页面重新加载/刷新 - 不要这样做!

时间:2010-01-19 08:28:07

标签: javascript

我的JavaScript函数正在运行,但出于某种原因,在我的IF语句中显示警报后,页面重新加载/刷新,我不希望它。为什么这样,我怎么能改变我的功能,以便它不会这样做?

我的功能

function valSubmit(){    
    varName = document.form1.txtName.value;
    varSurname = document.form1.txtSurname.value;
    varEmail = document.form1.txtEmail.value;
    varOrg = document.form1.txtOrg.value;

    if (varName == "" || varSurname == "" || varEmail == "" || varOrg == "" ) 
    {

     alert("Please fill in all mandatory fields");  

    }
    else
    { 
        document.body.style.cursor = 'wait';
        document.form1.btnSubmit.style.cursor = 'wait';
        document.form1.action = "http://now.eloqua.com/e/f2.aspx"
        document.form1.submit();
        return true;    
    }

 }

p.s我正在使用ASP.NET 3.5

4 个答案:

答案 0 :(得分:8)

这是你的完整函数,添加了return false语句。

此外,当您调用valSubmit时,它应如下所示:

... onsubmit =“return valSubmit();”...

注意,您还需要在此处指定return。

这是功能:

function valSubmit(){

varName = document.form1.txtName.value;
varSurname = document.form1.txtSurname.value;
varEmail = document.form1.txtEmail.value;
varOrg = document.form1.txtOrg.value;

 if (varName == "" || varSurname == "" || varEmail == "" || varOrg == "" ) 
 {

     alert("Please fill in all mandatory fields");
     return false;

 }
 else
 { 
    document.body.style.cursor = 'wait';
    document.form1.btnSubmit.style.cursor = 'wait';
    document.form1.action = "http://now.eloqua.com/e/f2.aspx"
    document.form1.submit();
    return true;    
 }

}

答案 1 :(得分:1)

您必须添加return false;以停止从表单提交

发生默认操作

答案 2 :(得分:0)

我猜您应该在return false;之后添加alert,因为表单会继续提交。

答案 3 :(得分:0)

只是广告在提醒后返回false。像:

alert("Please fill in all mandatory fields");
return false;