2017-08-28 114 views
0

我希望將cookie應用於兩個輸入的默認值。 我正在使用GitHub的jscookie,並且最好還是使用jscookie來回答。 我有一個默認值爲零的輸入,我希望它在第一次回答之後默認爲它們存儲的cookie。例如。使用Cookie到<input>與js-cookie

<input type="text" name="changeme" value="0"> 
<div id="submit">Submit</div> 

的JavaScript/JQuery的與jscookie插件:

$(document).ready(function() { 
     if (Cookies.get("inputval") != undefined) { 
       $('input[name="changeme"]').val(Cookies.get("inputval")); 
     } 
     $('#submit').on('click', function() { 
       var inval = $('input[name="changeme"]').val(); 
       Cookies.set("inputval", inval { expires: 1, path: "" }); 
     }); 
}); 

所以重新加載頁面後,我期望的值是什麼最初進入。 Cookie被保存,但它們未被應用於輸入。我已經嘗試過大部分我能想到的語法的變體,沒有任何幫助。預先感謝回覆!

+0

這是一個語法錯誤:'inval {到期:1,路徑: 「」}'。檢查您的控制檯是否有日誌和錯誤。我想你錯過了一個逗號,它應該是:'inval,{expires:1,path:「」}' – BenM

回答

0

此行是造成語法錯誤,因爲你已經錯過了一個逗號:

Cookies.set("inputval", inval { expires: 1, path: "" }); 
          ^-- missing ',' here 

嘗試以下操作:

$(function() { 
    if(Cookies.get('inputval')) 
    { 
     $('input[name="changeme"]').val(Cookies.get('inputval')); 
    } 

    $('#submit').on('click', function() { 
     Cookies.set("inputval", $('input[name="changeme"]').val(), { expires: 1, path: "" }); 
    }); 
}); 
+0

謝謝。這似乎工作得很好,但是我添加了第二個輸入並相應地調整了代碼,突然之間,我將95輸入input1和88輸入到input2中,在同一個會話中再次輸入輸入將導致它們都爲88,並且在重新加載之後儘管input1的cookie仍然是95,input2的cookie仍然是88,但input1是88,input2是空的。謝謝:) –

+0

沒關係。出於某種原因,它不能像'.click'一樣工作,我需要一個'.on('click')',儘管它沒有被動態插入。儘管如此,感謝您的迴應! –