使用Javascript将URL参数传递给隐藏表单字段

3
我希望您能够将如“123456”这样的ID从URL中传递出来:http://www.mysite.com/page.html?ID=123456,并将其添加到隐藏表单字段的value属性中。我找到了一个JavaScript,可以将ID写入页面,但我不知道如何将该值添加到隐藏输入字段的value属性中。非常感谢您的任何想法!我正在使用的JS代码是:
<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>
3个回答

2
如果您已经有了值,可以使用jQuery这样做:
 $('#your-input-field').val(the_value);

 <input type="hidden" id="your-input-field" />

如果没有jQuery,您需要像这样操作:

 e = document.getElementById('your-input-field');
 e.value = the_value;

这是一个使用您的代码的示例,我建议您研究jQuery-它比纯JavaScript更易于使用,并且您的代码将在所有浏览器上运行:

  <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" />

嗨,我已经编辑了问题,包括我正在使用的JS来从URL获取参数。不确定在哪里放置您的代码...谢谢! - Lawrence
1
这个完美地运行了,谢谢!我现在会尝试使用jQuery让它工作。 - Lawrence

1
window.location.search

...将会给你返回URL中的查询字符串部分

所以在这种情况下,它将返回"?ID=123456"。

还有其他需要说明的吗?


我认为我已经用我已有的代码解决了这个问题 - 请参见编辑后的问题。谢谢。 - Lawrence
所以,document.getElementById("yourInput").value = getQueryVariable("id"); 这样行吗? - Matthew

0

这个使用jQuery的链接可能会对你有所帮助 url-parameters。一旦你获得了值,你可以执行以下操作:

$('#input-id').val($.getUrlVar('url-parameter'));

你好,我该如何向一个隐藏字段添加值?请注意我不会JS。 - Lawrence

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接