2015-02-05 248 views
0

我有一個註冊表單的問題。每次用戶創建帳戶時,我都使用localStorage來保存表單值。但是如果在提交按鈕之後用戶重定向到另一個頁面,它僅保存註冊的最後一個用戶數據。如果註冊後我不重定向用戶到另一個頁面,我可以有多個用戶。我能做些什麼,以節省更多的用戶(使用本地存儲) 代碼:localStorage註冊用戶如何重定向,而不會丟失數據

var passwords=[]; 
    var people= []; 
function submitSignUp(){ 
    var usr = signupform.elements["username"].value; 
    var pass = signupform.elements["password"].value; 
    people.push(usr); 
    passwords.push(pass); 
    localStorage.setItem('peoplenames', JSON.stringify(people)); 
    localStorage.setItem('urpasswords',JSON.stringify(passwords)); 
    window.location.href="accountCreated.html";    
} 

也是我使用的是輸入型按鈕,並沒有提交,因爲我有一個提交輸入同樣的問題。我能做什麼?謝謝。

+2

'people'和'passwords'來自哪裏?這些填充了以前的所有值嗎? (那麼只有客戶端處理的註冊有什麼意義...?) – CBroe 2015-02-05 16:55:58

+0

它僅適用於模擬這就是爲什麼我需要localStorage我也要編輯代碼與數組 – 2015-02-05 17:01:32

+0

現在您已經向我們展示了這些數組是如何初始化的空。但是,在存儲新數據之前,您讀取之前存儲的值的部分在哪裏? – CBroe 2015-02-05 17:32:40

回答

0

Demo

因此,這裏是應該爲你工作的jsfiddle。

一些關鍵的事情如下。

if(localStorage.getItem('users') != null){ 
    users = JSON.parse(localStorage.getItem('users')); 
} 

此代碼檢查用戶字符串是否已設置爲當前頁面。如果用戶未在本地存儲上設置,則完全跳過此步驟。

至於處理頁面之間的信息,你需要做3件事情之一。

  1. 通過ajax發送所有的電話。 JQuery Get將允許您在加載其他頁面的內容時保留在當前頁面上。您將使用getpost類似IFrame
  2. 僅使用get方法瀏覽您的網站。 Javascript並不是爲此而設計的,這並不能讓你很好地控制網頁的初始狀態。
  3. 如果您不想在您的餘生中使用Javascript,或者不應該在本地機器上存放個人信息。 IE:密碼。使用Server Scripting Language

在它是由你來決定做什麼結束,但我的建議是使用服務器腳本語言和某種Database。這些都是網絡標準並且是可銷售的技能。

+0

它的工作謝謝:) :)我也會記住你的提示 – 2015-02-05 18:34:30