我有一个问题,我正在做一个简单的表单验证,需要一些验证插件不能为我做的自定义的东西。基本上,我有一个名称,电子邮件和消息字段,所有都是必需的,但只有电子邮件是真正验证,其他人只是需要检查他们是否不是空的。以下是我目前的代码:
$("#contactMe form").submit(function() {
var email = $('.requiredEmail').val();
if(email != 0) {
if(isValidEmailAddress(email)) {
$('.requiredText').each(function() {
thisVal = $(this).val();
var $this = $(this);
if(thisVal != 0) {
console.log('Valid Field: '+thisVal);
if ($(this) == $(this).parent(':last')) {
console.log('Last field, submit form here');
}
}
});
} else {
console.log('Email Not Valid');
}
}
return false;
});
为了解释一下,我首先通过isValidEmailAddress函数检查电子邮件地址是否有效,该函数正在工作。然后我使用each()检查所有requiredText字段,并检查它们是否不为空。当我到达最后一个requiredText字段时,我希望使用post或其他方法提交表单。if ($(this) == $(this).parent(':last')) {
我在那里得到的显然是不正确的,但我不确定可以用什么来检查它是否是每个结果集中的最后一个,如果是,就执行一个操作。
有人能帮我吗?
3条答案
按热度按时间q8l4jmvw1#
each
传递给你的函数index
和element
,检查index
的长度,你就可以开始了:qzwqbdag2#
对于未来的谷歌人,我有一个不同的方法来检查它是否是最后一个元素。它类似于OP问题的最后一行。
这将直接比较元素,而不仅仅是检查索引号。
fdx2calv3#
here的简短回答,适用于此问题:
只是为了完整。