48269a38f1e536f3d25924bf96c09ac48284dd9a larrym Thu May 26 11:32:57 2011 -0700 fix an encoding related bug (see redmine 4051) diff --git src/hg/js/utils.js src/hg/js/utils.js index fb4102e..876b7a6 100644 --- src/hg/js/utils.js +++ src/hg/js/utils.js @@ -603,43 +603,43 @@ changedVars[newVar] = newVars[newVar]; } return changedVars; } function varHashToQueryString(varHash) { // return a CGI QUERY_STRING for name/vals in given object var retVal = ""; var count = 0; for (var aVar in varHash) { if(count++ > 0) { retVal += "&"; } var val = varHash[aVar]; - // XXXX encode var=val ? if (typeof(val) == 'string' && val.length >= 2 && val.indexOf('[') == 0 && val.lastIndexOf(']') == (val.length - 1)) { var vals = val.substr(1,val.length - 2).split(','); $(vals).each(function (ix) { if (ix > 0) retVal += "&"; - retVal += aVar + "=" + this; + retVal += aVar + "=" + encodeURIComponent(this); }); - } else - retVal += aVar + "=" + val; + } else { + retVal += aVar + "=" + encodeURIComponent(val); + } } return retVal; } function getAllVarsAsUrlData(obj) { // Returns a string in the form of var1=val1&var2=val2... for all inputs and selects in an obj // If obj is undefined then obj is document! return varHashToQueryString(getAllVars(obj)); } /* function popupBox(popit, content, popTitle) { // Kicks off a Modal Dialog for the provided content.