javascript - Cuts off form data when setting url as value -
this script creates cookie depending on form data, (ex: ?docname=my document)
<script type="text/javascript"> { var docname = getvalue("docname"); // these go off script form data var save = getvalue("save"); var url = window.location.href; } function setcookie(name, value, days) { if (days) { var date = new date(); date.settime(date.gettime() + (days * 24 * 60 * 60 * 1000)); var expires = "; expires=" + date.togmtstring(); } else var expires = ""; document.cookie = name + "=" + value + expires + "; path=/"; } function savedoc() { if (docname != '') { setcookie(docname,url,730); } else { // nothing else } } // helps find errors if exist window.onerror = function(errormessage, url, line) { var errortext = 'message: ' + errormessage + '\nurl: ' + url + '\nline: ' + line + ' please contact us, , report error.'; alert(errortext); } </script>
it creates cookie , sets name of docname variable, when sets url value, cuts off form data.
i've researched , changed code couldn't find answer, can help?
solution
<script type="text/javascript"> { var docname = getvalue("docname"); // these go off script form data var save = getvalue("save"); var url = window.location.href; var recode = encodeuricomponent(url); } function setcookie(name, value, days) { if (days) { var date = new date(); date.settime(date.gettime() + (days * 24 * 60 * 60 * 1000)); var expires = "; expires=" + date.togmtstring(); } else var expires = ""; document.cookie = name + "=" + value + expires + "; path=/"; } function savedoc() { if (docname != '') { setcookie(docname,recode,730); } else { // nothing else } } // helps find errors if exist window.onerror = function(errormessage, url, line) { var errortext = 'message: ' + errormessage + '\nurl: ' + url + '\nline: ' + line + ' please contact us, , report error.'; alert(errortext); } </script>
changed variable used set value recode
, set recode equal encodeuricomponent(url);
decodes url
, decoding , making possible have form data in value or name of cookie, etc. @epascarello
encodeuricomponent()
friend here
document.cookie = name + "=" + encodeuricomponent(value) + expires + "; path=/";
and when it, need decode decodeuricomponent()
.
Comments
Post a Comment