Problem:
You need to modify the 'rows' URL parameter in a given URL to a specific value or add it with a default value if it doesn't exist.
Solution:
Use JavaScript functions like updateURLParameter to manipulate URL parameters. Here's an extended version of the code provided in the problem answer:
/** * http://stackoverflow.com/a/10997390/11236 */ function updateURLParameter(url, param, paramVal) { let newAdditionalURL = ""; const tempArray = url.split("?"); const baseURL = tempArray[0]; let additionalURL = tempArray[1]; let temp = ""; if (additionalURL) { const additionalURLArray = additionalURL.split("&"); additionalURLArray.forEach((paramValue) => { if (paramValue.split('=')[0] != param) { newAdditionalURL += temp + paramValue; temp = "&"; } }); } const rows_txt = temp + "" + param + "=" + paramVal; return baseURL + "?" + newAdditionalURL + rows_txt; } // Function Calls: const newURL1 = updateURLParameter(window.location.href, 'locId', 'newLoc'); const newURL2 = updateURLParameter(newURL1, 'resId', 'newResId'); window.history.replaceState('', '', updateURLParameter(window.location.href, "param", "value"));
Updated Version Handling URL Anchors:
function updateURLParameter(url, param, paramVal) { let TheAnchor = null; let newAdditionalURL = ""; const tempArray = url.split("?"); const baseURL = tempArray[0]; let additionalURL = tempArray[1]; let temp = ""; if (additionalURL) { const tmpAnchor = additionalURL.split("#"); TheParams = tmpAnchor[0]; TheAnchor = tmpAnchor[1]; if (TheAnchor) additionalURL = TheParams; const tempArray = additionalURL.split("&"); tempArray.forEach((paramValue) => { if (paramValue.split('=')[0] != param) { newAdditionalURL += temp + paramValue; temp = "&"; } }); } else { const tmpAnchor = baseURL.split("#"); TheParams = tmpAnchor[0]; TheAnchor = tmpAnchor[1]; if (TheParams) baseURL = TheParams; } if (TheAnchor) paramVal += "#" + TheAnchor; const rows_txt = temp + "" + param + "=" + paramVal; return baseURL + "?" + newAdditionalURL + rows_txt; }
The above is the detailed content of How can I modify URL parameters and specify defaults using JavaScript?. For more information, please follow other related articles on the PHP Chinese website!