jQuery validation и формы, которые загружатся то ajax

ekkl

Новичок
jQuery validation и формы, которые загружатся то 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 ещё раз получится, что я подключаю плагины повторно? Я же не смогу отследить, какие скрипты я подключил за предыдущим запросом.
Думаю вопрос это давно решён, только я нигде не встречал решения. Надеюсь на вашу помощь.
 

Adelf

Administrator
Команда форума
Боюсь, у ваc большие проблемы с пониманием некоторых базовых вещей("Серверный пхп фреймворк" - уже насторожила).

Яваскрипт ваш не будет работать при подгрузке. Некоторые ajax-библиотеки типа Котеровской разбирают что пришло в div и ищут script теги, но это не очень хороший способ. Да и ready - это лишь когда документ загрузится в браузер. Для ajax это неприменимо.

Насчет повторной загрузки validation - лучше сразу подключать везде, где есть формы. А уж ajax только для данных.
 

ekkl

Новичок
>>> Яваскрипт ваш не будет работать при подгрузке
Работает :) только вопрос в том, насколько это красиво.
>>>>Серверный пхп фреймворк
А что я не так сказал?
 

Adelf

Administrator
Команда форума
Несерверные php фреймворки бывают?

>> Работает
Ну.. может быть я что-то упустил. В интернете есть где посмотреть на это?
 

Adelf

Administrator
Команда форума
>> jquery.com
На этом сайте грузят в дивы яваскрипты, которые выполняются? :)

А вообще, может и работать. Но мне это красивым - никак не кажется.
 

ekkl

Новичок
Кроме того, есть функция jQ которая подгружает скрипт по ajax.
Не совсем представляю как связать все это.
 

ekkl

Новичок
Ну тогда перефразирую вопрос. Допустим, я подключил все необходимые скрипты. Но вместе с формой мне все-таки придётся подгрузить правила для её проверки. Тут уже никак не отвертеться. :)
 

Fortop

Новичок
ekkl
Крайне неудобно отвечать на 2х форумах сразу. На один и тот же вопрос.
 
Сверху