Вы получаете только одну форму ->
var form = $("#ContactSendemailForm");
этот селектор получает элемент с идентификатором ContactSendemailForm
вам нужно получить каждую форму для проверки (), а затем проверить ее - есть ли в формах классы? если это так, сделайте это
$(".classofform").each(function() {
$(this).validate();
});
Это вызывает метод validate()
для каждого из объектов jQuery - селектор возвращает коллекцию элементов DOM с классом classofform
Документы для каждого ()
Обновлено
После комментариев, приложенных к этому ответу, я думаю, что мой ответ вводил в заблуждение ... Я думал, что вы хотите проверить обе формы одновременно ... теперь, однако, я знаю, что вы не ...
Прежде всего, некоторые базовые объяснения ... метод live () в jQuery используется для прослушивания событий на элементах, которые еще не представлены в DOM - вам не нужно использовать это, когда объект присутствует при загрузке страницы .. .
У вас есть страница с уже существующей формой:
<form action="/gordon/searchresults" id="search" class="search-form" method="post" accept-charset="utf-8">
<div style="display:none;">
<input type="hidden" name="_method" value="POST"/>
</div>
<input name="data[q]" class="search" id="searchtext" type="text"/>
<input value="" type="submit" class="button" />
</form>
<div id="popupinfo"></div>
<a href="#" id="contactus" onclick="return false;">Contact us</a>
У него есть идентификатор search
, поэтому для проверки этой формы при отправке сделайте следующее:
$('search').submit(function() {
$(this).validate();
)}
Документы для метода submit ()
Затем, чтобы убедиться, что вы правильно подтвердили контактную форму (через всплывающее окно), вы можете сделать это:
$('#contactform').live('submit', function() {
$(this).validate();
)}
Использование функции live () (on () следует использовать в jQuery 1.7+) означает, что она будет работать независимо от того, присутствует ли элемент contactform при загрузке или нет.
Последнее, на что следует обратить внимание, это то, что код, который выполняется для элементов, присутствующих при загрузке, должен содержаться в следующей функции
$(document).ready(function() {
// code here
)}
Это гарантирует, что элементы DOM готовы перед манипуляцией
Обновление 2
<script type="text/javascript" src="/js/jquery.validate-1.9.js"></script>
<script type="text/javascript" src="/js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="/js/jquery-ui-1.8.16.custom.min.js"></script>
должно быть
<script type="text/javascript" src="/js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="/js/jquery.validate-1.9.js"></script>
<script type="text/javascript" src="/js/jquery-ui-1.8.16.custom.min.js"></script>
Базовая библиотека jQuery должна быть загружена перед плагинами
Документы: