按钮发射2个脚本而不是1个

时间:2016-11-10 03:07:21

标签: javascript jquery html forms dom

我有一个表,允许用户从项目列表中进行选择,并将所选ID存储在隐藏表单输入中,然后提交一个提交按钮,该按钮验证以确保隐藏表单输入不为空。

这是显示单行和提交按钮的HTML:

<tr class="" id="PR7518">
  <td>1234A</td>
  <td>Option A</td>
  <td class="text-center">
    <button type="button" class="btn btn-success btn-sm">Select</button>
  </td>

  <div class="text-center">
    <button type="submit" name="buttonType" value="saveSelected" class="btn btn-success">Submit</button>
  </div>

当我只希望它调用表单submit(第二个脚本)时,提交按钮调用以下两个脚本:

$(document).ready(function() {
  $('button.btn-success').click(function() {
    $('#productID').val(productID);
  });
});



$("form").submit(function(event) {
  event.preventDefault();
  if ($('#productID').val() == '') {
    $("#productID_Error").show();
    return false;
  }
});

我不确定需要做些什么更改才能阻止提交按钮调用第一个脚本?

2 个答案:

答案 0 :(得分:1)

第一个选择器$('button.btn-success')正在选择这两个按钮,因为它们都具有“btn-success”类。您需要在第一个按钮上添加某种唯一标识符,以便您可以选择它而无需同时使用这两个按钮。您可以通过向第一个按钮添加另一个类或ID,然后调整选择器以指向该唯一标识符来完成此操作。

答案 1 :(得分:0)

您可以在第一个脚本中将:not([type="submit"])添加到您的选择器,以排除提交按钮。

$(document).ready(function() {
  $('button.btn-success:not([type="submit"])').click(function() {
    $('#productID').val(productID);
  });
});