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

时间:2017-03-02 17:08:57

标签: javascript

我正在创建一个登录页面,如果电子邮件地址已经存在,我想留在同一页面上并提示用户该电子邮件地址已经存在。 这是函数,它是单击按钮时将调用的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;
    }

}

2 个答案:

答案 0 :(得分:2)

您必须将功能传递给<form onsubmit="return login()">。如果要提交,则登录功能必须返回true,否则返回false。有关详细信息,请参阅此答案:JavaScript code to stop form submission

使用codepen来说明:http://codepen.io/DeividasK/pen/YZqwLO

答案 1 :(得分:1)

取决于您的代码设置如何提交。当代码实现电子邮件地址重复时,您可能只需要插入一个返回。沿着这条路径的某些东西可能有助于防止页面向前移动。

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