2011-12-16 91 views
1

我有一个HTML的脚本是这样的:jQuery的找到正确的ID

<form id="no1"> 
     <input id="title" type="text" /> 
<input type="submit" /> 
    </div> 

    <form id="no2"> 
     <input id="title" type="text" /> 
<input type="submit" /> 
    </div> 

然后我有使用jQuery验证脚本。不过,我希望它能验证已提交的表单。

当我点击sumit时,jQuery验证错误的输入(因为它们都有相同的id名称)。

我尝试这样的代码,但它不工作(以下简称 “本” 的形式元素):

var title = $(this).("input#title").val(); 
+0

尝试给他们** **不同的ID名称......我有一种预感,那就是要工作,然后... – 2011-12-16 22:31:42

+0

您可能会得到这个工作,但这只是运气,而且你可能不会对IE9感到幸运。没有告诉浏览器将使用重复的ID做什么。无论如何,你不需要一个名字=,而不是id =,以便在服务器上挑出提交的值? – smendola 2011-12-16 22:34:01

回答

1

试试这个

$(this).find('input#title').val() 
-1

尝试

$(this).find('input#title').val(); 
+0

@downvoter为什么downvote?我的答案实际上与选定的答案完全相同,而我的答案是在他之前提交的? – JesseBuesking 2011-12-17 05:06:35

3

HTML ID应该是唯一的。如果发布的元素需要为这两个表单命名,则应该使用具有相同名称的唯一标识符。

$(this).find("[name='title']").val(); 

假设this指被提交表单元素:

<form id="no1"> 
    <input id="title1" name="title" type="text" /> 

<form id="no2"> 
    <input id="title2" name="title" type="text" /> 

您的代码可以作为然后进行修改。