2017-02-02 12 views
0

英語とフランス語の2つの言語を持つWebサイトを作成しています。 2つの言語は2つのステップを持つフォームを提供します。私がしたいのは、ユーザが英語でlocalStorageをリフレッシュするときに、既に情報が入力されていなくても、フランス語のフォームから空のlocalStorage(キー値)をロードすることです。ユーザーが英語のときに同じことをしたいと思います。私はセッションを使用することができますが、誰かがブラウザを閉じるとリフレッシュしないことを知っています。localStorageを削除してもう一度追加します

多分localStorage.removeItem( '');助けることができます。

ありがとうございました。ここで

私のコードです:

<script type = "text/javascript" > window.onload = getData(); 

function storeData() { 
    var userEmail = document.querySelector("#UserName"); 
    var userPhoneNumber = document.querySelector("#PhoneNumber"); 
    var userName = document.querySelector("#FirstName"); 
    var userLastName = document.querySelector("#LastName"); 
    localStorage.setItem("mail", userEmail.value); 
    localStorage.setItem("phone", userPhoneNumber.value); 
    localStorage.setItem("name", userName.value); 
    localStorage.setItem("lastName", userLastName.value); 
} 

function getData() { 
    var userEmail = document.querySelector("#UserName"); 
    var userPhoneNumber = document.querySelector("#PhoneNumber"); 
    var userName = document.querySelector("#FirstName"); 
    var userLastName = document.querySelector("#LastName"); 
    userEmail.value = localStorage.getItem("mail"); 
    userPhoneNumber.value = localStorage.getItem("phone"); 
    userName.value = localStorage.getItem("name"); 
    userLastName.value = localStorage.getItem("lastName"); 
} </script> 
+0

理由で同じだかどうかを確認することができ、あなたは現在の言語とグローバル変数を持っていると仮定すると、あなたは単に名前空間(例えば "fr.mail")を使っていませんか? –

+0

現在の言語をlocalStorage値に入れることができます。 'getData()'は、現在の言語が保存されている言語と同じである場合にのみ、フォームをリロードします。 – Barmar

+0

@DenysSéguretのお返事ありがとうございます。あなたはコードが何であるべきかの例を教えてください。ありがとう。 – pro78

答えて

0

あなたはstoreDatalocalStorageに保存し、それがgetData

function storeData() { 
    var userEmail = document.querySelector("#UserName"); 
    var userPhoneNumber = document.querySelector("#PhoneNumber"); 
    var userName = document.querySelector("#FirstName"); 
    var userLastName = document.querySelector("#LastName"); 
    localStorage.setItem("mail", userEmail.value); 
    localStorage.setItem("phone", userPhoneNumber.value); 
    localStorage.setItem("name", userName.value); 
    localStorage.setItem("lastName", userLastName.value); 
    localStorage.setItem("language", currentLanguage); 
} 

function getData() { 
    if (localStorage.getItem("language") == currentLanguage) { 
     var userEmail = document.querySelector("#UserName"); 
     var userPhoneNumber = document.querySelector("#PhoneNumber"); 
     var userName = document.querySelector("#FirstName"); 
     var userLastName = document.querySelector("#LastName"); 
     userEmail.value = localStorage.getItem("mail"); 
     userPhoneNumber.value = localStorage.getItem("phone"); 
     userName.value = localStorage.getItem("name"); 
     userLastName.value = localStorage.getItem("lastName"); 
    } 
} 
+0

Thanks @Bamar。私はあなたの答えを理解していませんでした "現在の言語でグローバル変数があると仮定します"。どのようにして言語を宣言できますか?私は、その時点でどの言語を実行しているのかをどのようにして知ることができますか? – pro78

+0

グローバル変数を設定するだけです。 '' – Barmar

+0

ok @Barmarはあなたの助けに感謝します。 – pro78

関連する問題