Jquery:仅获取提交表单的输入

时间:2016-08-03 13:25:55

标签: jquery forms

我在页面中有多个表单。我只需要提交所提交表单的输入子项。

这是我的代码(当然它不起作用)。

    $('form.modal-form').on('submit',function(e) {
        e.preventDefault();
        var form_errors = 0;
        $(this).children('input.required-field').each(function(index) 
        {
            [....]   
   });
});

非常感谢

2 个答案:

答案 0 :(得分:2)

您需要使用$.fn.find代替$.fn.children,而{{3}}只能获得直接子女:

$(this).find('input.required-field').each(function(index) {
    // ...
});

答案 1 :(得分:1)

您可以选择context内的元素。这是jQuery函数选择器之后的第二个参数。在那里传递this让jQuery只在这个context中搜索您的选择器,这将只为您提供所需的元素...

$('form.modal-form').on('submit', function(e) {
    e.preventDefault();

    $('input.required-field', this).each(function() {
        // do your work
    });
});

您使用过的children可能无法在此处运行,因为此功能只能为您的选择器搜索更深的一个节点。您可以从.children()切换到.find(),应该做些什么。

但我仍然希望使用上下文选择器!