2017-04-04 86 views
-2

我有一個用戶添加電子郵件的表單字段,它通過URL傳遞信息並將電子郵件插入客戶端登錄頁面。jQuery兩步登錄腳本

HTML

<form method="GET" action="client_login" _lpchecked="1"> 
    <input type="text" id="email" placeholder="Email" name="email"> 
    <button type="submit" id="submit">LOGIN</button> 
</form> 

輸出例如:https://websitename.com/client_login?email=name.lastname%40email.com

腳本

這正好在登錄頁面上捕捉到的URL信息。

function getQueryString() { 
var result = {}, queryString = location.search.substring(1), 
re = /([^&=]+)=([^&]*)/g, m; 
while (m = re.exec(queryString)) { 
result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]); 
} 
return result; 
} 
window.addEventListener("load", function() { 
document.getElementById('user').value = getQueryString()['email']; 
}); 

腳本的偉大工程,這不是問題,問題是,當你直接去客戶端登錄頁面,而不經過任何URL信息,我在用戶名字段得到「未定義」,任何幫助將不勝感激。

enter image description here

+0

這裏有一些幫助:試着問一個更好的問題 – madalinivascu

+0

什麼是你的問題?爲什麼你不測試電子郵件是否在網址? – madalinivascu

+0

我試圖詳細說明我的設置是如何工作的,對於其他人來說顯然更容易混淆, – webmonkey237

回答

2
value = getQueryString()['email']; 
document.getElementById('user').value = value ? value : ''; 

與上述行替換此。

+0

完美,謝謝你的幫助! – webmonkey237

0

您需要檢查值是否爲空,如果是,則給它一個不同的值。如果?email =查詢字符串不可用,它將插入Undefined。