/*--------------------------------------------------------------------------*/ /* Podfitness.com encodeQueryString * (c) 2007 Podfitness.com * [input]: NA * [output]: paramsString (encoded querystring) * [summary]: * This is designed to replicate the browser functionality of the form submit * with a get actiion. It's most common use would be to allow a form to be * posted via httprequest without having to actually submit the page. /*--------------------------------------------------------------------------*/ this.encodeQueryString = function(){ var formElements = []; for (var i = 0; i < document.getElementsByTagName("input").length; i++){ switch(document.getElementsByTagName("input")[i].type){ case 'text': if (document.getElementsByTagName("input")[i].value != "") formElements.push(encodeURIComponent(document.getElementsByTagName("input")[i].name) + "=" + encodeURIComponent(document.getElementsByTagName("input")[i].value)); break case 'password': if (document.getElementsByTagName("input")[i].value != "") formElements.push(encodeURIComponent(document.getElementsByTagName("input")[i].name) + "=" + encodeURIComponent(document.getElementsByTagName("input")[i].value)); break case 'radio': formElements.push(encodeURIComponent(document.getElementsByTagName("input")[i].name) + "=" + encodeURIComponent(document.getElementsByTagName("input")[i].value)); break case 'checkbox': if (document.getElementsByTagName("input")[i].checked){ formElements.push(encodeURIComponent(document.getElementsByTagName("input")[i].name) + "=" + encodeURIComponent(document.getElementsByTagName("input")[i].value)); } break case 'hidden': if (document.getElementsByTagName("input")[i].value != "") formElements.push(encodeURIComponent(document.getElementsByTagName("input")[i].name) + "=" + encodeURIComponent(document.getElementsByTagName("input")[i].value)); break } } for (var i = 0; i < document.getElementsByTagName("textarea").length; i++){ if (document.getElementsByTagName("textarea")[i].value != "") formElements.push(encodeURIComponent(document.getElementsByTagName("textarea")[i].name) + "=" + encodeURIComponent(document.getElementsByTagName("textarea")[i].value)); } for (var i = 0; i < document.getElementsByTagName("select").length; i++){ formElements.push(encodeURIComponent(document.getElementsByTagName("select")[i].name) + "=" + encodeURIComponent(document.getElementsByTagName("select")[i].options[document.getElementsByTagName("select")[i].selectedIndex].value)); } var paramsString = new String(); for (var i=0; i < formElements.length; i++){ paramsString += formElements[i] if (i+1 < formElements.length){ paramsString += "&" } } return paramsString } }