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

Eti*_*nne 3 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;    
    }

 }
Run Code Online (Sandbox Code Playgroud)

ps我正在使用ASP.NET 3.5

Fen*_*ton 8

这是您添加了返回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;    
 }

}
Run Code Online (Sandbox Code Playgroud)