【问题标题】:how to get different hidden field values in multiple form in a page如何在页面中以多种形式获取不同的隐藏字段值
【发布时间】:2013-09-28 19:09:56
【问题描述】:

在一个页面中,我有 2 个表单,其中两个表单都有一个名为 operation 的隐藏字段(两个表单的名称相同)

included jquery.min-1.5.js & jquery-ui.min-1.8.js
<script>
$(document).ready(function(){
  $('#get_val').live('click', function() {
    alert($('#operation').val());
  });
});
</script>
<form id="form_como" name="form_como" action="go.php" method="post">
  //some code.....
  <input type="hidden" name="operation" id="operation" value="first">
  <input type="button" name="get_val" id="get_val" value="Get Val"/>
</form>

<br />

<form id="form_como2" name="form_como2" action="" method="post">
  //some code.....
  <input type="hidden" name="operation" id="operation" value="second">
  <input type="button" name="get_val" id="get_val" value="Get Val"/>
</form>

当我点击“获取 Val”按钮时,我总是得到“第一个”(对于这两种情况)。但我需要我点击的按钮的值。

【问题讨论】:

    标签: jquery


    【解决方案1】:

    //在两个表单中都使用唯一的id

    <form id="form_como" name="form_como" action="go.php" method="post">
      //some code.....
      <input type="hidden" name="operation" id="operation" value="first">
      <input type="button" name="get_val" id="get_val" value="Get Val"/>
    </form>
    
    <br />
    
    <form id="form_como2" name="form_como2" action="" method="post">
      //some code.....
      <input type="hidden" name="operation2" id="operation2" value="second">
      <input type="button" name="get_val2" id="get_val2" value="Get Val"/>
    </form>
    

    更新如果无法更改 id 则按名称使用

     $('input[name=get_val]').live('click', function() {
        alert($(this).prev().val());
      });
    

    参考prev

    【讨论】:

    • 由于某种原因我无法重命名。我想通过使用表单名称来获得价值。
    • 谢谢,但我无法更改姓名或 ID。有什么方法可以获取 form-name.hidden-field-name 之类的值?
    • 如果前一个是另一个元素(不是操作),那么你会得到错误的值。所以我认为我们应该在获取值之前使用按名称或 id 查找元素
    • 现在您可以通过更新结果来做到这一点,无需更改 ID,感谢关注@ha nguyen
    【解决方案2】:

    你可以试试这个:

    $(document).ready(function(){
    $("input[name=get_val]").bind({
        click: function(event) {
           alert($("input[name=operation]" , $(this).parent()).val());
        }
    });
    });
    

    如果你使用prev(),那么你只能得到前一个元素的值。如果 button 的前一个元素是另一个元素(不是操作),那么你会得到错误的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-13
      • 1970-01-01
      • 2012-11-03
      相关资源
      最近更新 更多