テキストボックスに入力した情報をcookieで1ヶ月値を保存する場合
【cmp側】
//attribute <aura:attribute access="private" type="Boolean" name="hasCookie" default="false"> <aura:attribute access="private" type="String" name="inputCookie" default=""> ~省略~ //テキストボックス <input id='cookie_input' class="xxx" type="text" name="testTextBox" value={!v.inputCookie} placeholder="未入力の時に表示する内容"/>
【controller.js側】
・初期処理のメソッド内
// cookie情報チェック var checkInfo = document.cookie.split(';'); checkInfo.forEach(function(value){ // cookie名と値に分ける var content = value.split('='); // cookie名が「inputcookie」の場合、コンポーネントに設定 if (content[0] == 'inputcookie') { component.set('v.hasCookie', true); component.set('v.inputCookie', content[1]); return; } });
・cookie保存処理のメソッド
// 入力した値 var inputVal = document.getElementById('cookie_input').value; // cookie保存期間(30日を秒数に変換) var deadline = 30*24*60*60; // cookie保存 if (inputVal != '' && inputVal != null) { // 初めてcookieが保存される場合 if (!component.get('v.hasCookie')) { var cookie = "inputcookie=" + inputVal + "; Max-Age=" + deadline + "; path=/xxxxx/ ;"; document.cookie = cookie; component.set('v.inputCookie', inputVal); //cmp側で定義 } // すでに保存されているcookie情報と一致しない場合 else if (component.get('v.inputVal') != document.getElementById('cookie_input').value) { var cookie = "inputcookie=" + inputVal + "; Max-Age=" + deadline + "; path=/xxxxx/ ;"; document.cookie = cookie; component.set('v.inputCookie', inputVal); //cmp側で定義 } }