Jquery 使用一个函数验证单独的表单-此输入

Jquery 使用一个函数验证单独的表单-此输入,jquery,forms,validation,this,Jquery,Forms,Validation,This,我这里有一个JSFIDLE- 这是一个带有jquery验证的简单表单 - 我需要在页面上有多个表单 表单是动态创建的,因此我希望输入字段的id相同 不同的表单将向用户注册不同的事件,以便他们捕获相同的信息,但用于不同的用途 是否有一种方法可以使用一个验证功能,并说验证与“this”按钮相关的输入 $(function(){ $('.btn').click(function(e){ e.preventDefault(); i

我这里有一个JSFIDLE-

这是一个带有jquery验证的简单表单

-

我需要在页面上有多个表单

表单是动态创建的,因此我希望输入字段的id相同

不同的表单将向用户注册不同的事件,以便他们捕获相同的信息,但用于不同的用途

是否有一种方法可以使用一个验证功能,并说验证与“this”按钮相关的输入

    $(function(){
        $('.btn').click(function(e){
            e.preventDefault();
            if(valFields()){

            }
        })
    })

    function valFields(){

        var flag = true;

        var name = $(this).parent().$('#name');
        var number = $(this).parent().$('#number');

        if(name.val().length == 0){
            alert('No Name');
        }

        if(number.val().length == 0){
            alert('No Number');
        }

        return flag;
    }
如上所述,同一页面中不能有相同的ID。因此,您可以使用
输入
元素的
名称
属性

最好在
valFields
方法中传递
this
,然后通过其
名称访问它的元素

var name = $(ele).parent().find('.form-control');
var number = $(ele).parent().find('.form-control');
$(函数(){
$('.btn')。单击(函数(e){
e、 预防默认值();
//传递这个
如果(valFields(本)){
}
})
})
//在此处访问此文件
函数valFields(ele){
var标志=真;
var name=$(ele.parent().find('.form-control');
var number=$(ele.parent().find('.form-control');
if(name.val().length==0){
警报(“没有名字”);
}
if(number.val().length==0){
警报(“无编号”);
}
返回标志;
}

名称
数
发送
名称
数
发送

请注意,ID在整个文档中应该是唯一的:您可以创建类似“name-1”的ID,其中数字是表单的编号。对不起,它应该是第二个exmaple中的类