onchange 时将相同的值发送到两个隐藏字段

发布于 2024-11-26 12:50:32 字数 1197 浏览 0 评论 0原文

我很难将相同的值传递给两个隐藏字段。例如,如果我选择“产品 1”,我希望两个隐藏字段的值均为 X。

<select>
<option value="X">Product 1</option>
<option value="Y">Product 2</option>
<option value="Z">Product 3</option>
</select>
<input id="test" name="product_id[]" type="hidden" value="">
<input id="test" name="product_id" type="hidden" value="">

我已尝试使用 onchange 方法,但我只能向其中一个隐藏字段传递单个值,而不能同时传递两个值。

这是我尝试过的,假设我在两个字段中使用相同的 id,但我现在意识到这是行不通的。

<form action="../index.php" method="post" >     
 <div id="Select">
          <select id="myselect" onchange="this.form.prodhid.value=this.selectedIndex">
    <option>Please Select an Amount</option>
             <option value="1">Product 1</option>
            <option value="2">Product 2</option>
            <option value="3">Product 3</option>
    </select>    
     <input type="hidden" name="product_id[]" id="prodhid" value="" />
     <input type="hidden" name="product_id" id="prodhid" value="" />
<input value="Add to Cart" title="Add to Cart" type="submit">
</form>

I'm having difficulty passing the same value to two hidden fields. So for example, if I select Product 1, I want both hidden fields to have a value of X.

<select>
<option value="X">Product 1</option>
<option value="Y">Product 2</option>
<option value="Z">Product 3</option>
</select>
<input id="test" name="product_id[]" type="hidden" value="">
<input id="test" name="product_id" type="hidden" value="">

I've tried using onchange methods, but I can only pass a single value only one of the hidden fields, not both.

Here is what I tried, granted I was using the same id for both fields which I realize now won't work.

<form action="../index.php" method="post" >     
 <div id="Select">
          <select id="myselect" onchange="this.form.prodhid.value=this.selectedIndex">
    <option>Please Select an Amount</option>
             <option value="1">Product 1</option>
            <option value="2">Product 2</option>
            <option value="3">Product 3</option>
    </select>    
     <input type="hidden" name="product_id[]" id="prodhid" value="" />
     <input type="hidden" name="product_id" id="prodhid" value="" />
<input value="Add to Cart" title="Add to Cart" type="submit">
</form>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

£冰雨忧蓝° 2024-12-03 12:50:32

您无法访问具有相同 id 的两个 DOM 元素。所以你可以将你的标记更改为这样的东西

<input id="test1" name="product_id[]" type="hidden" value="">
<input id="test2" name="product_id" type="hidden" value="">

或者你可以尝试这样的东西:

<html>
  <head>
    <script type="text/javascript">
      function change()
      {
        var list = document.getElementById('test-group')
                           .getElementsByTagName('INPUT');
        for (var i = 0; i < list.length; ++i)
          list[i].value = 'X';
      }
    </script>
  </head>
  <body>    
    <select onchange="change()">
      <option value="X">Product 1</option>
      <option value="Y">Product 2</option>
      <option value="Z">Product 3</option>
    </select>
    <div id="test-group">
      <input name="product_id[]" type="hidden" value="">
      <input name="product_id" type="hidden" value="">
    </div>
  </body>
</html>

You can't access two DOM elements with the same id. So you may change your markup to something like this

<input id="test1" name="product_id[]" type="hidden" value="">
<input id="test2" name="product_id" type="hidden" value="">

Or you can try something like this:

<html>
  <head>
    <script type="text/javascript">
      function change()
      {
        var list = document.getElementById('test-group')
                           .getElementsByTagName('INPUT');
        for (var i = 0; i < list.length; ++i)
          list[i].value = 'X';
      }
    </script>
  </head>
  <body>    
    <select onchange="change()">
      <option value="X">Product 1</option>
      <option value="Y">Product 2</option>
      <option value="Z">Product 3</option>
    </select>
    <div id="test-group">
      <input name="product_id[]" type="hidden" value="">
      <input name="product_id" type="hidden" value="">
    </div>
  </body>
</html>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文