
下記サイトを参考に、テキストボックスとチェックボックスをlocalStorageに保存するプログラムを作ってみました。
http://jsdo.it/twi_masa/hx8D
質問ですが、チェックやテキストを書いて保存ボタンを押すとlocalStorageに値が保存されることはchromeのデベロッパーツールで確認しました。
値がある状態でロードを押すとその保存された状態に復元されますが、それをロードボタンを押さずにページが読み込まれた直後に表示させる方法が知りたいです。
window.onload = function(){
処理
}
だと思い、
load : functionをwindow.onload = functionへ単純に変更しましたが、それでは保存もロード出来なくなってしまいました。
自分では全く書けないので、出来ましたらソースを書いていただけるとありがたいです。
よろしくお願いします。
<table>
<tr>
<td>テキスト</td>
<td><input type="text" id="text1" /></td>
</tr>
<tr>
<td>チェックボックス</td>
<td>
<input type="checkbox" id="checkbox1" value="0">チェック1
<input type="checkbox" id="checkbox2" value="0">チェック2
</td>
</tr>
</table>
<input type="button" value="保存" onclick="hx8D.save();">
<input type="button" value="ロード" onclick="hx8D.load();" />
<script>
var hx8D = function(){
var HX8D = function(){};
HX8D.prototype = {
save : function(){
var elements = document.getElementsByTagName("input");
for(var i=0; i<elements.length; i++){
var type = elements[i].type;
var key = elements[i].id;
if(type == "text"){
localStorage[key] = elements[i].value;
}else if(type == "checkbox"){
localStorage[key] = elements[i].checked;
}
}
},
load : function(){
var elements = document.getElementsByTagName("input");
for(var i=0; i<elements.length; i++){
var type = elements[i].type;
var key = elements[i].id;
if(type == "text"){
elements[i].value = localStorage[key];
}else if(type == "checkbox"){
elements[i].checked = localStorage[key] == "true" ? true : false;
}
}
},
};
return new HX8D();
}();
</script>

No.1ベストアンサー
- 回答日時:
単に
<input type="button" value="ロード" onclick="hx8D.load();" />
と同じことを
window.onload = function(){ 処理 }
でも行えばOKです
<script>
var hx8D = function(){
...
}();
window.onload = function(){ hx8D.load() }
// 今風なら: window.addEventListener('DOMContentLoaded', function(){ hx8D.load() }, false);
</script>
出来ました!
なるほど、ロードボタンの処理自体を最初に読み込ませてしまえばいいってわけですね。
window.addEventListenerの方は説明読んでも自分には良くわかりませんでしたが、DOMContentLoadedの方は「HTMLの解釈が終わった時点で呼び出される」理解出来ました。
またお見かけした時はよろしくお願いします。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Formのシリアライズができない
-
テーブル内のチェックボックス...
-
JavaScriptによる自動計算フォーム
-
ボタン無しでフォーム内容送信
-
javaScriptの変数をJavaの変数...
-
onchangeイベントを強制的に発...
-
return trueとreturn falseの用...
-
<input>の選択肢をプルダウンメ...
-
RegularExpressionValidatorの...
-
Javascriptに条件分布ついて(再)
-
C#(csファイル)とjavascriptと...
-
name = cats[1] という input ...
-
switchを使って四則演算のプロ...
-
複数のformから値を取得する方法
-
データベースの値を判断してラ...
-
テキストボックスにカーソルを...
-
複数のチェックボックス項目が...
-
idの振り直しについて
-
画面表示とともに、テーブルの...
-
OnClickでURL生成し、飛ばしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チェックボックス付きのテーブ...
-
チェックボックスのチェック結...
-
Javascriptの電卓で最初の何も...
-
画面表示とともにtableの指定の...
-
JavaScriptで、検索結果がでな...
-
JavaScriptで、コピーボタンを...
-
history.backの前に値をクリア...
-
VBSでの自動ログイン
-
文字数を数える際に空白、改行...
-
入力チェックの外部スクリプト...
-
テーブル内のチェックボックス...
-
ボタンを押してテキストボック...
-
ラジオボタンが選択されたらテ...
-
行クリックでチェックボックス...
-
JavaScriptの「.querySelectorA...
-
WEBフォーム(asp)から画像デ...
-
2つのフォームに値を入れて計算
-
localStorageでのcheckbox制御
-
テーブル内のチェックボックス...
-
phpMyAdminみたいに、テーブル...
おすすめ情報