У меня есть страница с несколькими формами, которые динамически генерируются с использованием PHP.Я проверяю их с помощью плагина jQuery Validation.Все формы одинаковы, но относятся к разным элементам, поэтому я дал всем формам один и тот же класс, чтобы они могли быть проверены одной функцией (каждая форма также имеет уникальный идентификатор).Но у меня возникли некоторые проблемы:
- Я бы хотел, чтобы сообщения об ошибках отображались в правильных элементах формы, но если я просто использую класс формы, валидатор не будет знать, какая формаэлемент от.
- У меня есть гиперссылка для отправки формы (и обычная кнопка
submit
в тегах <noscript>
), и я обычно использую jQuery для отправки формы, но опять же, как будет работать jQueryзнаете, какую ссылку для отправки я щелкнул, и какую форму для отправки?
Самая простая вещь, о которой я могу подумать - это передать идентификатор формы проверяющему как-то.Возможно ли это?
Формы выглядят так:
<?php while($row= pg_fetch_row($groups)) { ?>
<p class="error" id="error-<?php echo $row[0] ?>"></p>
<form action="../scripts/php/groups-process.php" method="post" id="editgroup-<?php echo $row[0] ?>" class="editgroup">
<label for ="edit-<?php echo $row[0] ?>" >Edit group name:</label>
<input type="text" class="text" size="20" maxlength="30" name="edit" id="edit-<?php echo $row[0] ?>" value="<?php echo $row[1] ?>" />
<noscript><input type="submit" name="editgroup" value="Submit" /></noscript>
<div id="submitcontainer-<?php echo $row[0] ?>"></div>
</form>
<?php } ?>
Обычно я проверяю форму следующим образом:
$(document).ready(function(){
$("#editgroup").validate({
rules: {edit: {required: true, maxlength: 30}},
messages: {edit: {required: 'Please enter a group name', maxlength: 'Please enter a shorter group name'},
errorContainer: "p#error",
});
$("#submitcontainer").html('<a class="button" href="javascript:void();" id="submitlink" name="submit">Submit</a>');
$("#submitlink").click(function() {
$("#editgroup").submit();
});
});