2016-11-08 3 views
0

私はローカルストレージに時間を入力しようとしていますが、今までそれを成功させることはできませんでした。Javascriptローカルストレージでhtml form time inputを使用するには?

形式の時刻入力フィールドの

HTML部分:

<label for="time"><p>Start</p></label> 
     <input type="time" id="time" name="time" min="09:00" max="17:00"/> 

のjavascript:私はinputTime関数を呼び出すとき

function getTime(){ 
    globalTime = document.getElementById("time").value; 
    localStorage.setItem("timeData", globalTime); 
} 

function inputTime(){ 
    var newTime = localStorage.getItem("timeData"); 
    alert(newTime); 
} 

、私は私がいないことを意味し、空の警告ボックスを取得時間の入力を取得します。 理由と理由を教えていただければ幸いです。

+0

'#time'の値を取得するために<button>要素にclickイベントを接続します。あなたが '#time'要素で時間を選択したときに' localStorage'を設定しようとしていますか? – guest271314

+1

変更した後に値を実際に取得したと仮定して、うまく動作します - > https://jsfiddle.net/s1hpvj22/ – adeneo

+0

@adeneo質問には 'jquery'タグは含まれていません。 – guest271314

答えて

0

.addEventListener()を使用して、inputイベントを#time要素に添付します。設定と `設定.value`ありませんlocalStorage

<!DOCTYPE html> 
<html> 

<head> 
</head> 

<body> 
    <label for="time"> 
    <p>Start</p> 
    </label> 
    <input type="time" id="time" name="time" min="09:00" max="17:00" value=""/> 
    <br /> 
    <br /> 
    <button id="setTime"> 
    Set time 
    </button> 
    <button id="test"> 
    Get time 
    </button> 
    <script> 
    document.getElementById('time').addEventListener('input', getTime); 
    document.getElementById('test').addEventListener('click', inputTime); 
    document.getElementById('setTime').addEventListener('click', setTime) 
    var globalTime; 

    function getTime() { 
     globalTime = document.getElementById("time").value; 
     console.log(globalTime) 
    } 

    function setTime() { 
     localStorage.setItem("timeData", globalTime); 
    } 

    function inputTime() { 
     var newTime = localStorage.getItem("timeData"); 
     alert(newTime); 
    } 
    </script> 
</body> 

</html> 

plnkr http://plnkr.co/edit/AzbVoqkGQwLXGlRV9CQd?p=preview

+0

本当にありがとうございました。 – ricster

+0

@adeneoが作成したパターンに基づいてhttps://jsfiddle.net/s1hpvj22/ – guest271314

関連する問題