【发布时间】:2014-09-04 06:48:35
【问题描述】:
我想将一些数据从 url 添加到具有唯一名称(不是 id )的输入框,因为我在页面上没有任何访问权限,我无法使用 ids 或某事对其进行编辑。
<input type="text" name="test">
诸如此类:
site.com/index.php?test=text123
【问题讨论】:
标签: javascript url input
我想将一些数据从 url 添加到具有唯一名称(不是 id )的输入框,因为我在页面上没有任何访问权限,我无法使用 ids 或某事对其进行编辑。
<input type="text" name="test">
诸如此类:
site.com/index.php?test=text123
【问题讨论】:
标签: javascript url input
据我了解,您想从 URL 获取数据到您的输入字段中。
首先,当你打开选项卡时,将选项卡的“文档”放入一个全局变量中
var url = "www.url.com"; //the url of the page to open in tab
var tabInstance= window.open(url);
tabDocument = tabInstance.document; //tabDocument is a global variable
现在,假设您要放入选项卡的数据位于打开选项卡的页面的 URL 中
function populateInputFields(){
var data = parseURLParams(document.URL); //get url data in json format.
if(!data) return; //if no get parameters found
//iterate json
for(var key in data){//for each key in the json data
var value = data[key]; //get the 'value' for corresponding key
var element = tabDocument.getElementsByTagName(key)[0];//get the input element
if(element && element.tagName == 'input'){//check if element exists and is of type input
element.value = value;
}
}
}
parseURLParams 的实现取自这里:How to read GET data from a URL using JavaScript?
function parseURLParams(url) {
var queryStart = url.indexOf("?") + 1,
queryEnd = url.indexOf("#") + 1 || url.length + 1,
query = url.slice(queryStart, queryEnd - 1),
pairs = query.replace(/\+/g, " ").split("&"),
parms = {}, i, n, v, nv;
if (query === url || query === "") {
return;
}
for (i = 0; i < pairs.length; i++) {
nv = pairs[i].split("=");
n = decodeURIComponent(nv[0]);
v = decodeURIComponent(nv[1]);
if (!parms.hasOwnProperty(n)) {
parms[n] = [];
}
parms[n].push(nv.length === 2 ? v : null);
}
return parms;
}
【讨论】: