jquery - 我可以对多个 Ajax 调用使用相同的类名吗

标签 jquery ajax spring-mvc

我编写了一段代码,使用 jQuery 将 score1score2 更新到数据库中。

我的 jQuery/AJAX 代码是:

$(document).ready(function() {
  $('#SampleForm').submit(
    function(event) {
      var id = $('.id').val();
      var score1 = $('.score1').val();
      var score2 = $('.score2').val();
      var data = 'score1=' + score1 + '&score2=' + score2 + '&id=' + id;
      $.ajax({
        url: $("#SampleForm").attr("action"),
        data: data,
        type: "GET",

        success: function(response) {
          alert(response);
        },
        error: function(xhr, status, error) {
          alert(xhr.responseText);
        }
      });
      return false;
      location.reload(true)
    });
});

JSP 代码是

<c:forEach var="item" items="${userinuser}">
  <form action="/mark/update" method="get" id="SampleForm">
    <input type="hidden" value="${item.userScores.ID}" name="id" class="id" />
    <input type="text" value="${item.userScores.score1}" name="score1" class="score1" size="2">
    <input type="text" value="${item.userScores.score2}" name="score2" class="score2" size="2">
    <input type="submit" value="update" class="btn btn-primary" />
  </form>
</c:forEach>

假设${userinuser}为6,则该JSP页面将动态生成6个表单。
所有 6 种形式都使用与 Score1 相同的类名 score1 和 Score2 与 score2 相同的类名。

我的 AJAX 调用第一次工作(第一个动态生成的表单),但它不适用于其余 5 个 AJAX 调用。

我知道这种编码方式不适合应用

谁能给我一个好主意吗?

最佳答案

您将生成 6 个具有相同 ID #SampleForm 的表单。当有多个节点具有相同的 ID 时,第一个节点总是会出现。

您可以为表单使用类名:

<form class="SampleForm">

然后听取其中任何一个的提交:

$('.SampleForm').submit(...)

但是,您还有第二个问题。您尝试使用输入元素的类名和第一个表单的操作属性来获取数据。你可以这样做:

 $('.SampleForm').submit(function(event) {
   var data = $(this).serialize(),
       url = $(this).attr('action');

   $.ajax({
       url : url,
       data : data,
       type : "GET",
       ....
   });

   return false;
   location.reload(true)
})

关于jquery - 我可以对多个 Ajax 调用使用相同的类名吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53135786/

相关文章:

javascript - 使用 JavaScript 和/或 jQuery 根据值搜索关联的多维数组(对象)的有效方法

jquery - 在 Jquery Mobile 1.1.1 中显示全屏背景

javascript - Rails jquery ajax 请求未触发

javascript - 使用 AJAX 将变量从 Javascript 传递到 PHP

php - AJAX在聊天脚本中刷新用户在线

java - 创建简单的 Spring AOP 时出现异常抛出建议演示

javascript - bootstrap popover不显示隐藏的内容包装器

java - Springframework MVC中保存的自增ID

spring-mvc - Spring - 获取正在使用的域名

javascript - 在本地主机上查看页面时 jQuery 脚本不起作用