Using Javascript to pass a parameter from a URL to a hidden form field

坚强是说给别人听的谎言 提交于 2019-12-12 21:36:43

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!