ekkl
Новичок
jQuery validation и формы, которые загружатся то ajax
Собственно проблема проверки формы средствами jQuery validation форм, которые загружаются ajax. Сразу отмечу некоторые моменты.
работаю на Code Igniter. (Серверный пхп фреймворк, если кто не знает)
Для Слежения за уникальностью подключаемых скриптов следит специальный класс
По ajax я загружаю/обрабатываю только формы
Как было уже сказано, использую jQuery. он у меня подключён постоянно, так как и jQuryUI
Дополнительные плагины, типа проверки формы и её отправки, я решил подключать по мере необходимости
Тут и возникают трудности. По ajax я гружу в плавающий div, вернее виджет диалог, например такую форму PHP:
Немного, конечно сократил код.
Меня смущает, что в блоке, который грузиться ajax присутствует JavaScript:
$().ready(function() {
Так нормально, или нет? В теле документа уже встречается такая конструкция. Это работает, но насколько это правильно.
Дальше такая конструкция PHP:
Класс, конечно, отследил, чтобы второй раз нигде не подключил (вернёт пустую строку) Но, если я вызову эту форму по ajax ещё раз получится, что я подключаю плагины повторно? Я же не смогу отследить, какие скрипты я подключил за предыдущим запросом.
Думаю вопрос это давно решён, только я нигде не встречал решения. Надеюсь на вашу помощь.
Собственно проблема проверки формы средствами jQuery validation форм, которые загружаются ajax. Сразу отмечу некоторые моменты.
работаю на Code Igniter. (Серверный пхп фреймворк, если кто не знает)
Для Слежения за уникальностью подключаемых скриптов следит специальный класс
По ajax я загружаю/обрабатываю только формы
Как было уже сказано, использую jQuery. он у меня подключён постоянно, так как и jQuryUI
Дополнительные плагины, типа проверки формы и её отправки, я решил подключать по мере необходимости
Тут и возникают трудности. По ajax я гружу в плавающий div, вернее виджет диалог, например такую форму PHP:
PHP:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$this->load->helper(array('language', 'form'));
$this->lang->load('user');
echo $this->gears->singlejs('validation');
?>
<script type="text/javascript">
$().ready(function() {
// validate signup form on keyup and submit
$("#register").validate({
rules: {
username:
{
required: true,
minlength: 3
},
userpass:
{
required: true,
minlength: 6
}
},
submitHandler: function()
{
formgears('register');
}
});
})
</script>
<form action="<?= part_url('register.htm') ?>" method="POST" id="register">
<div class="field">
<?= form_labelinput('username', set_value('username'), 'user_name') ?>
</div>
<div class="field">
<?= form_labelinput('userpass', '', 'user_pass') ?>
<div class="right">
<button class="ui-state-default ui-corner-all" type="submit" style="padding:3px; margin:5px">Отправить</button>
</div>
</form>
Немного, конечно сократил код.
Меня смущает, что в блоке, который грузиться ajax присутствует JavaScript:
$().ready(function() {
Так нормально, или нет? В теле документа уже встречается такая конструкция. Это работает, но насколько это правильно.
Дальше такая конструкция PHP:
PHP:
echo $this->gears->singlejs('validation');
Класс, конечно, отследил, чтобы второй раз нигде не подключил (вернёт пустую строку) Но, если я вызову эту форму по ajax ещё раз получится, что я подключаю плагины повторно? Я же не смогу отследить, какие скрипты я подключил за предыдущим запросом.
Думаю вопрос это давно решён, только я нигде не встречал решения. Надеюсь на вашу помощь.