2016-06-17 11 views
0

入力から情報をローカルストレージに保存しようとしています。しかし、 "Save"または "Load"を押すと、 "if"には入りますが、関数$( '#save')ではなくon( 'click'、...) )...2つの機能にアクセスできない理由がわかりません

if (typeof (Storage) !== "undefined") { 

    $('#save').on('click', function() { 
     window.alert("storagecomp"); 
     $('input[type="text"]').each(function() { 
      var id = $(this).attr('id'); 
      var value = $(this).val(); 
      localStorage.setItem(id, value); 
     }); 
    }); 

    $('#load').on('click', function() { 

     window.alert("warnigclick"); 
     $('input[type="text"]').each(function() { 
      var id = $(this).attr('id'); 
      var value = localStorage.getItem(id); 
      $(this).val(value); 
     }); 
    }); 
} else { 
    window.alert("Não suporte do browser para o LocalStorage"); 
} 

上記のjavascriptコードを呼び出すコードは次のとおりです。

<div id="buttonsL"> 
    <button type="submit" id="buttonL" name="submit">Registar Oferta</button> 
    <button id="save" name="submitG">Save</button> 
    <button id="load" name="fg" >Load</button> 
    <script src="../JSFiles/LocalStorageStuff.js" language="Javascript"></script> 
</div> 

私はすべてを検索してきましたが、私が間違っていることを理解できません。なぜこれらの2つの機能にアクセスしていないのですか?

+0

ストレージとは、ページの読み込み時に存在しますか? – Deep

+0

これらのボタンがフォーム内にある場合は、フォームを送信します。おそらくデフォルトのイベントを無効にする必要があります。 –

+0

@Deep "Storage"がどこにあるかは、ブラウザがローカルストレージと互換性があるかどうかを確認することです –

答えて

0

タイプミス:あなたのクリックハンドラの両方で

$('input[type=text"]').each(function() { 
         ^---what's this for? 

+0

彼は 'input [type =" text "]'と書いていたと思います。したがって、最初の見積もりはありません。 – Rajesh

+0

チップのおかげで、それは確かにタイプミス、私の悪かった。私はそれをただちに修正しましたが、残念ながらまだそれらには入りません –

関連する問題