如果提交任何表单,如何检查jQuery?

Loz*_*ano 23 forms jquery onsubmit

我有一个包含很多表单的页面,用户将在该页面上选择一些内容.当用户这样做时,我需要将该元素放在其他地方,就像购物车一样.但我似乎无法获得超过页面上第一个实际按预期工作的表单.我尝试过多种方法:

  1. 为所有表单提供相同的ID,这只会导致第一个表单按我的意愿行事,并向我提供该表单的数据.
  2. 再给他们所有相同的ID,这次为ID添加一个唯一的标识符,但当然,我的jQuery $('#something')没有捕获它,因为它不匹配.

所以我在想我会怎么做.我只需要从页面上提交的表单中接收数据.如上所述,我可以给他们所有类型的前缀,就像我现在一样,但后来我不知道如何匹配它.

帮助会非常受欢迎!

一些代码按要求(当然只是一个显示我的意思的例子):

HTML:

<form id="something-0"><input type="hidden" value="0"><input type="submit"></form>
<form id="something-1"><input type="hidden" value="1"><input type="submit"></form>
Run Code Online (Sandbox Code Playgroud)

jQuery:

$("#something-%").submit(function(e) {
e.preventDefault();
$("#some-span").html(data);
});
Run Code Online (Sandbox Code Playgroud)

我希望#something-%接受" - "之后的任何内容,我希望你理解.

gil*_*ly3 31

作为一般答案,要对一组元素进行分类,请使用该class属性,为每个元素指定相同的类名.然后,您可以按该类选择元素.一个元素可以有多个类.

$(".something");
Run Code Online (Sandbox Code Playgroud)

如果必须使用id,则可以使用属性选择器:

$("[id^='something']");  // all elements with an id beginning with 'something'
$("[id$='something']");  // all elements with an id ending with 'something'
Run Code Online (Sandbox Code Playgroud)

对于此特定问题,由于您希望对页面中的任何表单执行操作,因此最简单的选择是使用元素名称选择器:

$("form");
Run Code Online (Sandbox Code Playgroud)

不管选择的,可以识别哪些形式提交的引用this的范围内submit()处理程序:

$("form").submit(function (e) {
    e.preventDefault();
    var formId = this.id;  // "this" is a reference to the submitted form
});
Run Code Online (Sandbox Code Playgroud)


dev*_*oms 10

您可以使用选择器'form'来捕获所有表单,例如

$("form").submit(function() {
  var theForm = $(this);
  var formID = theForm.attr("id");
  // do something
});
Run Code Online (Sandbox Code Playgroud)