我的表格没有id,没有任何课程。我需要获取其中的所有输入,我有一个脚本但它将获得所有输入,无论它们是否在我的表单内。
当然我可以在我的表单中添加类,id,但是在没有向表单添加标识符的情况下,有没有办法做我想做的事情?
在我的情况下,它将通过我的页面上的每个输入进行迭代,这是合乎逻辑的,但我怎样才能确保它只会通过当前表单上的每个输入进行迭代?
$('form').submit(function(e){
e.preventDefault();
$('input, textarea').each(function(){
alert('a'); // Alerts on every input, not just inside this form...
});
});
答案 0 :(得分:3)
您可以将this
作为上下文(第二个参数)传递给jQuery函数,以便仅搜索当前元素内部。
$('form').submit(function(e){
e.preventDefault();
$('input, textarea', this).each(function(){
alert('a'); // Alerts on every input inside this form.
});
});
答案 1 :(得分:1)
$('form').submit(function(e){
e.preventDefault();
$(this).find('input, textarea').each(function(){
alert('a'); // Alerts on every input, just inside this form
});
});
答案 2 :(得分:0)
您可以像这样使用jQuery find()方法:(最好调试打印元素的tagName / name属性,以确保找到正确的属性)
$(document).ready(function(){
$('form').submit(function(e){
e.preventDefault();
$(this).find('input, textarea').each(function(){
alert(this.nodeName + ' ' + $(this).attr('name'));
});
});
});