如何检查jQuery是否提交了任何表单?

前端之家收集整理的这篇文章主要介绍了如何检查jQuery是否提交了任何表单?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个有很多表单的页面,用户将在该页面上选择一些内容.当用户做的时候,我需要把这个元素放在别的地方,真的很像购物车.但是我似乎不能比页面上的第一个表单获得更多的实际工作.
我尝试过多件事情:

>给所有的表单相同的ID,这只会使我想要的第一种形式出现,给我这个表单的数据.
>再次给他们所有相同的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>

jQuery:

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

我希望#something-%接受“ – ”后面的任何内容,我希望你明白.

解决方法

作为一般答案,要分类一组元素,请使用类属性,给每个元素相同的类名.然后,您可以选择该类的元素.元素可以有多个类.
$(".something");

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

$("[id^='something']");  // all elements with an id beginning with 'something'
$("[id$='something']");  // all elements with an id ending with 'something'

对于这个具体的问题,由于你想对页面中的任何表单采取行动,最简单的选择就是使用元素名称选择器:

$("form");

无论选择器如何,您可以通过在submit()处理程序中引用此方式来识别提交的表单:

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

猜你在找的jQuery相关文章