javascript - jquery ajax提交2个不同或多个表单

标签 javascript jquery

我是 jquery ajax 新手,我需要一些帮助。

这是我的基本 html。

    <form id="replayForm1">
        msg_id:
        <input type="text" name="msg_id">
        <br>
        msg_replay
        <input type="text" name="msg_replay">
        <button onClick="getmsg(1)">Click Me</button>
    </form>
    <form id="replayForm2">
        msg_id:
        <input type="text" name="msg_id">
        <br>
        msg_replay
        <input type="text" name="msg_replay">
        <button onClick="getmsg(2)">Click Me</button>
    </form>

这是我的 jquery:

<script>
    function getmsg(formID) {
        var formName = '#replayForm' + formID;
        $(formName).submit(function (e) { 
            e.preventDefault();
            var msg_id = $('input[name=msg_id]').val();
            var msg_replay = $('input[name=msg_replay]').val();
            alert(msg_id + msg_replay);
        });
    }
 </script>

我的问题是,当我填写第二个表格时,我得到的是空值。第一种形式没有问题,它返回值并且没有问题。如何处理这个问题呢?我尝试仅使用 1 个函数使此表单与简单提交表单不同。

最佳答案

jQuery 将查找它找到的输入的第一个实例,因此使用 formName 来匹配正确的实例。

您还应该删除之前的事件,否则在第二次单击同一按钮后您将收到多个警报。

function getmsg(formID) {
  var formName = '#replayForm' + formID;
  $(formName).off('submit').on('submit', function (e) { 
    e.preventDefault();
    var msg_id = $(formName + ' input[name=msg_id]').val();
    var msg_replay = $(formName + ' input[name=msg_replay]').val();
    alert(msg_id + msg_replay);
  });
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="replayForm1">
  msg_id:
  <input type="text" name="msg_id">
  <br>
  msg_replay
  <input type="text" name="msg_replay">
  <button onClick="getmsg(1)">Click Me</button>
</form>
<form id="replayForm2">
  msg_id:
  <input type="text" name="msg_id">
  <br>
  msg_replay
  <input type="text" name="msg_replay">
  <button onClick="getmsg(2)">Click Me</button>
</form>

关于javascript - jquery ajax提交2个不同或多个表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49091741/

相关文章:

javascript - 用于表单验证的 Rails Way + 无提交按钮

javascript - 保持正确的位置标签x轴jquery flot

javascript - 将焦点移至下一个 "li"元素,忽略所有嵌套元素

javascript - 相对引用必须以 "/"、 "./"或 "../"开头。 Chrome

javascript - nlapiSearchRecord 发送错误而不是空值

javascript - 如何在字符串中查找指定的 HTML 元素

javascript - 如何在谷歌地图中点击标记时拆分页面?

ruby-on-rails - 当文本字段填充多对多表单时,Rails 3.2 Ajax 更新 Div

javascript - 为什么这段代码添加空的 img 标签?

javascript - react native 应用程序按钮