问题
I wasn to be able to pass and ID such as '123456' from a URL:
http://www.mysite.com/page.html?ID=123456
to a hidden form field.
I found a Javascript that lets me write the ID to a page but I don't know how to add the value to the value="" bit of a hidden input field.
Any ideas much appreciated!
The JS I am using is:
<script>
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
alert('Query Variable ' + variable + ' not found');
}
</script>
回答1:
window.location.search
...will give you the query string part of your URL
So in this case it will return "?ID=123456".
Anything else or is that enough to go on?
回答2:
If you already have the value you could do like this with jQuery:
$('#your-input-field').val(the_value);
<input type="hidden" id="your-input-field" />
without jQuery you would do like this:
e = document.getElementById('your-input-field');
e.value = the_value;
Here is an example using your code, I recommend that you look into jQuery - it's much easier to use than plain javascript and your code will work on all browsers:
<script type="text/javascript">
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
}
function onLoad() {
var value = getQueryVariable("ID");
var e = document.getElementById('your-field');
e.value = value;
}
</script>
<body onload="onLoad()">
<!-- your form and hidden field goes here -->
<input type="hidden" name="your-field" id="your-field" />
回答3:
This link that uses a jQUery might help you url-parameters. Once you have the value you can do:
$('#input-id').val($.getUrlVar('url-parameter'));
来源:https://stackoverflow.com/questions/8251393/using-javascript-to-pass-a-parameter-from-a-url-to-a-hidden-form-field