JSFiddle - React, Tailwind, and code Playground
HTML
<form id="myform">
<input name="f1" /><br>
<input name="f2" /><br>
<select name="s1">
<option value="">Select an option</option>
<option value="o1">Let's be sensible</option>
<option value="o2">Let's party</option>
<option value="o3">Let's get help</option>
<option value="o4">Let's go home</option>
</select><br>
<textarea name="t1">xxx</textarea><br>
</form>
JavaScript
function QueryParser(str) {
/******************** QueryParser **********************
********************* by Airshow **********************
*** http://www.daniweb.com/forums/member512379.html ***
********* Please keep this attribution intact *********/
if (str) {
str = unescape(str);
if (str.indexOf("?") === 0) {
str = str.substring(1);
}
var args = str.split("&");
for (var i = 0; i < args.length; i++) {
var pair = args[i].split("=");
if (pair.length >= 1) {
var prop = pair.shift();
this[prop] = (pair.length == 1) ? pair[0] : (pair.length > 1) ? pair.join('=') : '';
}
}
}
this.set = function(prop, value) {
return this[prop] = value;
};
this.clear = function(prop) {
if (typeof this[prop] !== 'undefined') {
this.set(prop, null);
return true;
}
else {
return false;
}
};
this.build = function(baseURL, hashName) {
baseURL = (!baseURL || typeof baseURL !== 'string') ? '' : (baseURL.indexOf("?") === -1) ? (baseURL + '?') : baseURL;
hashName = (!hashName || typeof hashName !== 'string') ? '' : (hashName.indexOf("#") === -1) ? ('#' + hashName) : hashName;
var strArray = [];
for (var prop in this) {
if (typeof this[prop] !== 'undefined' && typeof this[prop] !== 'function' && this[prop] !== null) {
strArray.push([prop, '=', this[prop]].join(''));
}
}
return baseURL + strArray.join('&') + hashName;
};
this.buildLink = function(baseURL, linkTxt) {
var url = this.build(baseURL);
return ['<a href="', url, '">', ((!linkTxt) ? url : linkTxt), '</a>'].join('');
};
}
//Emulation of query string
var queryString = "f1=Hello&f2=World!&s1=o4&t1=Farewell!";
var $q = new...