在我的页面上,我有多种形式用于不同目的。我想验证其中一种形式。所以我想遍历这个表单的输入并检查每个表单。问题是,当我循环输入时,我也看到来自其他形式的输入。
示例:
<form id="form1" name="form1" method="get" action="#">
<input type="text" name="test1" id="test1"/>
<input type="text" name="test2" id="test2"/>
</form>
<form id="form2" name="form2" method="get" action="#">
<input type="text" name="test3" id="test3"/>
<input type="text" name="test4" id="test4"/>
</form>
<script>
jQuery('#form2').submit(function( event ) {
validate_form(this);
event.preventDefault();
});
function validate_form(form){
jQuery(form+':input').each(function(){
console.log(jQuery(this).attr('id'));
});
}
</script>
输出将是:
TEST1 TEST2 TEST3 TEST4
我想看到的是:
TEST3 TEST4
有什么想法吗?非常感谢。
答案 0 :(得分:0)
您可以传递提交表单的id
以获得预期结果。
尝试,
jQuery('#form2').submit(function( event ) {
validate_form($(this).attr('id'));
event.preventDefault();
});
答案 1 :(得分:0)
您需要使用.find()
function validate_form(form){
jQuery(form).find(':input').each(function(){
console.log(jQuery(this).attr('id'));
});
}
答案 2 :(得分:0)
我认为以下jQuery代码正在运行:
jQuery('#form2').submit(function( event ) {
validate_form(this);
event.preventDefault();
});
function validate_form(form){
jQuery(form).children('input').each(function(){
console.log(jQuery(this).attr('id'));
});
}
答案 3 :(得分:0)
尝试以下
jQuery('#form2').submit(function( event ) {
validate_form($(this));
event.preventDefault();
});
function validate_form(form){
jQuery(form).find(':input').each(function(){
console.log(jQuery(this).attr('id'));
});
}