【问题标题】:Using Javascript to pass a parameter from a URL to a hidden form field使用 Javascript 将参数从 URL 传递到隐藏的表单字段
【发布时间】:2011-11-24 01:55:19
【问题描述】:

我无法通过 URL 传递 ID,例如“123456”:

http://www.mysite.com/page.html?ID=123456

到一个隐藏的表单域。

我找到了一个 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>

【问题讨论】:

    标签: javascript hidden-field


    【解决方案1】:
    window.location.search
    

    ...将为您提供 URL 的查询字符串部分

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

    还有什么,或者这足以继续吗?

    【讨论】:

    • 我已经用我已经拥有的代码(我认为)涵盖了这一点 - 请参阅已编辑的问题。谢谢。
    • document.getElementById("yourInput").value = getQueryVariable("id");好听吗?
    【解决方案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" />
    

    【讨论】:

    • 嗨,我已经编辑了问题以包含我用来从 URL 获取参数的 JS。不确定将代码放在哪里...谢谢!
    • 这很好用,谢谢!我现在尝试使用 jQuery 让它工作。
    【解决方案3】:

    这个使用 jQUery 的链接可能会帮助你url-parameters。一旦你拥有了你可以做的价值:

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

    【讨论】:

    • 嗨,我将如何向隐藏字段添加值?请记住,我不懂 JS。
    猜你喜欢
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多