2011-10-02 63 views
0

我很难从特定表单中获取特定输入。有小费吗?从特定表单获取特定输入?

<form id ="frm_addtag-1"> 
    <input type="text" name="tag" id="tag"> 
</form> 

<form id ="frm_addtag-2"> 
    <input type="text" name="tag" id="tag"> 
</form> 

<form id ="frm_addtag-3"> 
    <input type="text" name="tag" id="tag"> 
</form> 

如果提交了frm_addtag-1,我只想抓取该表单的标签输入而不是其他表单。

当我做了类似下面的事情时,无论提交哪种表单,它都会从任何其他表单返回标签输入。

var tag = $("#tag"); 
var tag = tag.attr("value"); 

回答

1

在同一页面上不能有多个具有相同ID的元素。为什么不这样做:

<form id ="frm_addtag-1"> 
    <input type="text" name="tag1" id="tag1"> 
</form> 

<form id ="frm_addtag-2"> 
    <input type="text" name="tag2" id="tag2"> 
</form> 

<form id ="frm_addtag-3"> 
    <input type="text" name="tag3" id="tag3"> 
</form> 

这来获取值:

$('form').bind('submit', function(e){ // when any form on the page is submitted 
    e.preventDefault(); // prevent the actual submit so the browser won't leave the current page 
    var tag = $('input[name^="tag"]', this).val(); // the value of an input element whose name attribute starts with "tag" and that is a child of the current form 
}); 
+0

真棒,谢谢! – Mike

1

ID应该是唯一的。

更改ID后,使用.val()来获取元素的值。

此外,当您提交表格时,只有 WITHIN该表格中的元素被添加到请求中。