2017-03-02 59 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; 
相關問題