javascript - 提交没有表单 ID 的表单

标签 javascript jquery html

我需要通过 Ajax 调用提交表单,但我在选择表单时遇到了问题。我不想使用表单 ID,因为我有多个表单,我需要为所有表单设置一个代码

$(".pay").on("click",function(){
  var form = $(this).closest(".card-body").find("form");
  //$(form).submit(function(e) {
  e.preventDefault();
  var formData = $(form).serialize();
  $.ajax({
    type: 'POST',
    url    : "php/pay.php",
    data: formData
  })
  .done(function(response) {
  })
  //});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="card" >
  <div class="card-header">
    <h1>XXX</h1>		
  </div>
  <div class="card-body" >
    <form>	
      <input name="user" value="mat" type="hidden">
      <input name="id" value="12" type="hidden">
    </form>
    <button class="btn btn-success pay" value="pay">pay</button>
    <button class="btn btn-danger decline" value="decline" >decline</button>
  </div>
</div>

最佳答案

无需添加 form submit 代码,因为您正在阻止提交,所以您什么时候点击只需从表单中获取数据并调用您的 AJAX 服务。

我添加了一个控制台日志,您可以在其中查看表单数据。

$(".pay").on("click",function(){
  var form = $(this).closest(".card-body").find("form");
  var formData = $(form).serialize();
  console.log(formData);
  $.ajax({
    type: 'POST',
    url    : "php/pay.php",
    data: formData
  })
  .done(function(response) {});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="card">
  <div class="card-header">
    <h1>XXX</h1>		
  </div>
    <div class="card-body" >
      <form>	
        <input name="user" value="mat" type="hidden">
        <input name="id" value="12" type="hidden">
      </form>
      <button class="btn btn-success pay" value="pay">pay</button>
      <button class="btn btn-danger decline" value="decline" >decline</button>
  </div>
</div>

关于javascript - 提交没有表单 ID 的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52082572/

相关文章:

javascript - 为什么我的 JS 移动导航在我的所有页面上都有效,但只有一个?

javascript - 我怎样才能改变我的按钮而不是将div从可见更改为不可见,而是做相反的事情?

javascript - 防止元素基于上一类进行动画处理

html - 固定 header 的偏移 anchor ,但保持永久链接完好无损

javascript - 根据 NextJs 文档启动空项目时开发服务器从不响应

javascript - 如何使用JavaScript中的音频控件触发取消暂停?

javascript - Parsley.js 根据选定的单选按钮验证表单的各个部分

javascript - 在 JQUERY 数据表的 TR ID 中设置数据行主 ID

javascript - 如何用动画将列表项移动到顶部?

html - 两个部分之间不需要额外的空间 - Bootstrap 3 中的背景图像原因