Page 63 - jQuery для начинающих
P. 63

60% Работа с формами



             Формы – это, пожалуй, один из самых нелюбимых элементов на странице – пока настроишь
             внешний  вид,  потом  еще  проверь,  что  ввели  нерадивые  пользователи  да  выведи  им

             информацию о допущенных ошибках, и в конце концов отправляешь на сервер данные с
             чувством облегчения от проделанной кропотливой работы. Так вот – о том, что поможет в
             этой самой работе я и буду рассказывать.


             Для начала, стоит напомнить события с которыми чаще всего придётся работать:



                    change — изменение значения элемента
                    submit — отправка формы



             В  каких  же  случаях  они  нам  помогут?  Да  всё  просто  –  отслеживание  change  позволяет
             обрабатывать такие события как изменение selectbox'а, или radiobutton'а, что потребуется
             для  динамического  изменения  формы.  И  самый  простой  пример  тому  –  это  на  странице
             регистрации  выбор  страны,  затем  по  выбранной  стране  должен  быть  подгружен  список
             регионов, по региону – список городов и так далее. Отслеживание submit потребуется для
             проверки  правильности  заполнения  формы,  а  так  же  для  отправки  формы  посредством
             AJAX. Форму возьмём попроще:



                    <form action="/save/">
                           <input type="text" name="name" value="Ivan"/>
                           <select name="role">
                                  <option>User</option>
                                  <option>Admin</option>
                           </select>
                           <input type="submit"/>
                    </form>



             А  примеры  будут  идти  в  обратном  порядке,  вот  отправка  формы  AJAX'ом  по  ссылке  из
             action:


                    $('form').submit(function(){
                           // чуть позже расскажу подробнее о AJAX

                           $.post(
                                  $(this).attr('action'),  // ссылка куда отправляем данные
                                  $(this).serialize()      // данные формы

                           );


                                                                                                         63


                                                                                        www.trk.kg
   58   59   60   61   62   63   64   65   66   67   68