2017-03-02 54 views
1

我正在创建登录页面,如果电子邮件地址已存在,我想保留在同一页面上并提示用户该电子邮件地址已存在。 这里是作为函数的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; 
    } 

} 
+0

请说清楚你的实际问题是什么。 – Santi

回答

2

时,你必须通过一个函数来<form onsubmit="return login()">将被调用的函数。如果您想提交,登录功能必须返回true,否则返回false。看到这个答案的详细信息:JavaScript code to stop form submission

工作codepen来说明:http://codepen.io/DeividasK/pen/YZqwLO

+1

未指定时,事件参数实际上由大多数浏览器承担。 **编辑:**更正,它是IE和Chrome。 Firefox似乎并不遵守。 (请参阅[这里](https://jsfiddle.net/tr_santi/0dbwLehc/)演示。) – Santi

+0

不错,我不知道。谢谢! –

+0

当我这样做,我得到这个错误未捕获TypeError:无法读取属性'preventDefault'在XMLHttpRequest.get1.onreadystatechange – aeshna

1

根据你的代码是如何设置提交。当代码实现电子邮件地址重复时,您可能只需插入一个返回。沿着这条道路可能有助于防止页面向前移动。

if (ListOfExistingEmails.indexof(email) > 0) return false; 
相关问题