javascript - 选择多种表单中的表单数据

标签 javascript php jquery arrays forms

我有一个像这样的 php 循环:

<?php foreach($result as $row) { ?>

    <form action="" method="post" name="my-form" id="my-form">
        <input type="hidden" name="user-id" id="user-id" value="<?php $row['user_id']; ?>">
        <input type="submit" name="submit" id="submit" value="Submit">
    </form>

<?php } ?>

它将在每个循环上输出一个表单。

这是我的 JavaScript 代码:

document.getElementById("appointment-single-form").onsubmit = function (e) {
    ev.preventDefault();
    var queryString = $('#appointment-single-form').serialize();
    console.log(queryString); // output to console: user-id={user's id from the specific form that was clicked/submitted}
}

根据单击/提交的表单,我需要使用 JavaScript 获取表单值。

问题:只有第一个表单有效,因为 getElementById 仅适用于一个 id。我怎样才能做到这样我就可以点击任何表格?谢谢

最佳答案

使用以下代码。想法是为每个表单使用一个公共(public)类,并在该类上附加提交事件。

// Attach submit event on class, that is common for each form
$('.my-forms').on('submit',function(ev){
  ev.preventDefault();
  var curObj = $(this),queryString = curObj.serialize();
  console.log(queryString);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form action="" method="post" name="my-form1" id="my-form" class="my-forms">
  <input type="hidden" name="user-id" id="user-id" value="1">
  <input type="submit" name="submit" id="submit" value="Submit Form 1">
</form>
<form action="" method="post" name="my-form2" id="my-form" class="my-forms">
  <input type="hidden" name="user-id" id="user-id" value="2">
  <input type="submit" name="submit" id="submit" value="Submit Form 1">
</form>
<form action="" method="post" name="my-form3" id="my-form" class="my-forms">
  <input type="hidden" name="user-id" id="user-id" value="3">
  <input type="submit" name="submit" id="submit" value="Submit Form 1">
</form>

关于javascript - 选择多种表单中的表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43817289/

相关文章:

javascript - 具有多个系列的 highcharts 样条线每隔几秒更新一次

javascript - &lt;script&gt; 标签如何强制 MutationObserver 在 Declarative Shadow DOM 中提前运行?

javascript - 使用onclick更改图片标题

php - 数组初始化并将值放入数组并循环它

php - 试图让 PHP 和数据库协同工作

javascript - Greasemonkey 和 Gmail - 解析邮件内容

php - JqG​​rid + 自动完成

javascript - 如何在具有多列的可编辑表格中创建下拉列表?

javascript - jQuery 插入元素并覆盖

javascript - 结合 $(this) 和 $ ("li:eq(ui.item.index())")