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

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -