Javascript 单击“提交”按钮后无法重新加载同一页

Javascript 单击“提交”按钮后无法重新加载同一页,javascript,Javascript,我正在创建一个登录页面,如果该电子邮件地址已经存在,我希望保持在同一页面上,并提示用户该电子邮件地址已经存在。 下面是单击按钮时将调用的onClick函数 function login() { var username = document.getElementById("username").value; var pword = document.getElementById("pword").value; var confpwd = document.getElem

我正在创建一个登录页面,如果该电子邮件地址已经存在,我希望保持在同一页面上,并提示用户该电子邮件地址已经存在。 下面是单击按钮时将调用的onClick函数

function login() {

    var username = document.getElementById("username").value;
    var pword = document.getElementById("pword").value;
    var confpwd = document.getElementById("confpwd").value;
    var email = document.getElementById("email").value;
    var fname = document.getElementById("fname").value;
    var lname = document.getElementById("lname").value;
    var gender = document.getElementById("gender").value;
    var t = 1;

    if (t.toString() !== '0') {
        var er = "Email-id already exists";
        event.preventDefault();
        document.getElementById("nemail").value = er;
        document.getElementById("username").value = username;
        document.getElementById("pword").value = "";
        document.getElementById("confpwd").value = "";
        document.getElementById("fname").value = fname;
        document.getElementById("lname").value = lname;
        document.getElementById("gender").value = gender;
    }

}

必须将函数传递给
。如果要提交,登录函数必须返回
true
,否则返回
false
。有关更多详细信息,请参阅此答案:


工作代码笔说明:

取决于代码提交的设置方式。当代码意识到电子邮件地址是重复的时,您可能只需要插入一个返回。此路径上的某些内容可能有助于阻止页面向前移动

if (ListOfExistingEmails.indexof(email) > 0 ) return false;

请澄清您的实际问题是什么。如果未指定,
事件
参数实际上由大多数浏览器承担。编辑:更正,是IE和Chrome。Firefox似乎没有遵守。(见演示)很好,我不知道。谢谢当我这样做的时候,我得到了这个错误UncaughtTypeError:无法读取XMLHttpRequest.get1中未定义的属性'preventDefault'。onreadystatechange@Santi..I使用chrome,但仍能获得此功能problem@aeshna这意味着您没有在onClick函数中传递事件。您的html应该如下所示
onSubmit=“login(this)”