i make simple counter script, assign number value text value (e.g. - 1, moderate - 2, excelent - 3), after store value in session storage , after page reload, continue counting previous result value.
i have counter script, , html couldn't restore previous value , continue counting. here script:
function modify_qty(val) { var qty = document.getelementbyid('qty').value; var new_qty = parseint(qty,10) + val; if (new_qty < 0) { new_qty = 0; document.getelementbyid('qty').value = new_qty; document.getelementbyid("result").value = sessionstorage.getitem("qty"); document.getelementbyid("result").innerhtml = sessionstorage.getitem("qty"); } document.getelementbyid('qty').value = new_qty; return new_qty; }
i use following html:
<table id="main"> <tr> <td><button id="up" onclick="modify_qty(1)">poor</button> </td> <td><button id="up" onclick="modify_qty(2)">moderate</button></td> <td><button id="up" onclick="modify_qty(3)">good</button></td> <td><button value="refresh page" onclick=" sessionstorage.qty = qty.value; window.location.reload();">reload</button></td> <td><button value="clear" onclick="sessionstorage.clear (result);window.location.reload();">clear</button></td> </tr> </table> </div><br><br><br><br><br><br><br> <div class="box"> <input id="qty" type="text" value="0" /> <input id="result" value="0"/>
so select moderate (2) button give 2 "points" session storage, , after refresh page, counter show "2" , hit (3) button , after second refresh counter should show "5". little bit complicated got stuck.
any idea?
for reason, has script error when posting via stack overflow's code snippet used jsfiddle.
https://jsfiddle.net/kqexbhmo/
<div class="container"> <h3>example</h3> <div data-score="1">good</div> <div data-score="2">moderate</div> <div data-score="3">excellent</div> <div id="reset">reset</div> <div id="score"></div> </div> var votes = document.queryselectorall('[data-score]'); (var ix = 0; ix < votes.length; ix++) { votes.item(ix).addeventlistener('click', function() { localstorage.setitem('score', getscore() + parseint(this.dataset.score, 10)); showscore(); }); } document.getelementbyid('reset').addeventlistener('click', function() { localstorage.removeitem('score'); showscore(); }); function getscore() { return parseint(localstorage.getitem('score') || 0, 10); } function showscore() { document.getelementbyid('score').innertext = getscore(); } showscore();
Comments
Post a Comment