Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.02.2009, 14:02
Аватар для Electric200
Интересующийся
Отправить личное сообщение для Electric200 Посмотреть профиль Найти все сообщения от Electric200
 
Регистрация: 25.02.2009
Сообщений: 11

Несколько $(document).ready(function(){ или как?
Добрый день!
Прошу помощи у форумчан так уже несколько дней не могу разобраться.

Есть форма select , которая отправляет на обработчик значение value. Обработчик делает запрос в БД и возвращает назад на страницу результат в виде следующей формы selecta. Проще говоря, єто форма выбора Страна/Область/Город.
Выбор Страна/Область я сделал через
$(document).ready(function(){

  var options = {

  	target: "#city_form",
    beforeSubmit: showRequest,
    success: showResponse,
    timeout: 3000
  };


  $('#сountry_form').submit(function() {
    $(this).ajaxSubmit(options);



    return false;
  });

});


function showRequest(formData, jqForm, options) {

    var queryString = $.param(formData);

     var formElement = jqForm[03];
    alert('Вот что мы передаем: \n\n' + queryString);

    return true;
}


function showResponse(responseText, statusText)  {


    alert('Статус ответа сервера: ' + statusText + '\n\nТекст ответа сервера: \n' + responseText +
        '\n\nЦелевой элемент div обновиться этим текстом.');
}
</script>


Вот у меня обновляется див элемент #city_form второй формой.
Теперь мне нужно при выборе с второй формы снова отправить данные на файл обработчик..
Но как это сделать, незнаю.. Пытался использовать тот же скрипт с указание уже другой формы, но так не срабатывает..

Прошу вашей помощи, и заранее благодарен!!

Последний раз редактировалось Electric200, 27.02.2009 в 09:20.
Ответить с цитированием
  #2 (permalink)  
Старый 26.02.2009, 21:55
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

а что такое ajaxSubmit? #city_form - элемент form? У тебя обновление второго списка происходит по кнопке submit?
Ответить с цитированием
  #3 (permalink)  
Старый 26.02.2009, 22:24
Аватар для Electric200
Интересующийся
Отправить личное сообщение для Electric200 Посмотреть профиль Найти все сообщения от Electric200
 
Регистрация: 25.02.2009
Сообщений: 11

Да
Спасибо что откликнулся..

Да, обновление второго списка проходит по sabmity.
#city_form - это div элемент который обновляется.
Он обновляется нормально.. Но как послать снова запрос с обновленной формы - не знаю..
Ответить с цитированием
  #4 (permalink)  
Старый 27.02.2009, 00:01
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

1. а что такое ajaxSubmit?
2. а не лучше ли второй список по onchange (select) обновлять?
3. как у тебя срабатывает '$(this).ajaxSubmit(options);'. Для этого в div'е #city_form должно возникнуть событие submit
Ответить с цитированием
  #5 (permalink)  
Старый 27.02.2009, 09:16
Аватар для Electric200
Интересующийся
Отправить личное сообщение для Electric200 Посмотреть профиль Найти все сообщения от Electric200
 
Регистрация: 25.02.2009
Сообщений: 11

1. По пермому не знаю, взял пример скрипт с мануала api
2. Да лучше, но как сделать не хватает мозгов, подскажи плиз?
3. Тут я сделал опечатку, поправил в коде (выделил красным).

target: "#city_form" - это див который обновляется
$('#country_form').submit(function() {
$(this).ajaxSubmit(options); - тут $('#country_form') Это форма в которой проходит submit.

Вот это код формы

echo "<form id='country_form'   name='sel_count'   method='post' action='form_area_next.php'>
        <select name='it_mid_count' input type='hidden'>  ";
                                                                                // Так как запрос возвращает несколько строк, применяем цикл
  while($name = mysql_fetch_array($name_count))
  {
    echo "

         <option value =".$name['itemid_country'].">".$name['name_country']."</option>

         ";
  }
   echo " </select>
    <input id='submit1' type='submit' name='submitButton' value='OK' />
    </form>
Ответить с цитированием
  #6 (permalink)  
Старый 27.02.2009, 14:11
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

1. так поищи хотя бы где в коде у тебя такая функция определяется
2. перехватывай событие change select'а
$('#selectId').change(function() {...})
Ответить с цитированием
  #7 (permalink)  
Старый 27.02.2009, 14:37
Аватар для Electric200
Интересующийся
Отправить личное сообщение для Electric200 Посмотреть профиль Найти все сообщения от Electric200
 
Регистрация: 25.02.2009
Сообщений: 11

Дык весь код я же привел.. Где она там еще может определятся

2. перехватывай событие change select'а

$('#selectId').change(function() {...})

а что это даст?
Ответить с цитированием
  #8 (permalink)  
Старый 27.02.2009, 14:43
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
Дык весь код я же привел.. Где она там еще может определятся
ты как минимум jquery подключаешь - поищи в файлах своего проекта, где есть функция ajaxSubmit? Но, вообще, если ты знаешь как ей пользоваться - забей

Цитата:
а что это даст?
событие change select'а возникает, после изменения пользователем текущего пункта. Т.е. можно будет перезагружать следующий select не по нажатию книпки submit
Ответить с цитированием
  #9 (permalink)  
Старый 27.02.2009, 14:50
Аватар для Electric200
Интересующийся
Отправить личное сообщение для Electric200 Посмотреть профиль Найти все сообщения от Electric200
 
Регистрация: 25.02.2009
Сообщений: 11

Ну ОК. Сделаю я допустим отправку по change вместо submit, результат тот же.. А как быть с другой формой? Тоесть первую по сабмиту а вторую по change ?

ПС а как тут карму добавлять то? а то что то добавил, а не показывает..
Ответить с цитированием
  #10 (permalink)  
Старый 27.02.2009, 15:14
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
2. а не лучше ли второй список по onchange (select) обновлять?
Цитата:
2. Да лучше, но как сделать не хватает мозгов, подскажи плиз?
Цитата:
2. перехватывай событие change select'а
$('#selectId').change(function() {...})
Цитата:
а что это даст?
подумай об этом диалоге

Цитата:
Ну ОК. Сделаю я допустим отправку по change вместо submit, результат тот же.. А как быть с другой формой? Тоесть первую по сабмиту а вторую по change ?
оба списка (Область, Город) обновляешь по событию onchange предыдущего списка. "Область" - по onchange списка "Страна", "Город" - по onchange списка "Область". Т.е. у тебя будет 2 обработчика onchange. Каждый из них отправляет запрос на сервер для получения данных для следующего списка. Для отправки запроса на сервер можешь использовать http://docs.jquery.com/Ajax/load#urldatacallback или свой ajaxSubmit (если знаешь как им пользоваться)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ссылки как на рапиде или депозите (которые появляются) XenOS Общие вопросы Javascript 4 26.11.2008 16:26
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 14:25
Подскажите как убрать часть текста при нажатии на кномпу или гиперссылку. potkin Общие вопросы Javascript 6 10.10.2008 06:55
Как узнать свернуто окно браузера или нет. bar-boss Events/DOM/Window 3 25.09.2008 15:09
Как переместиться в начало страницы или к закладке? f_gor Общие вопросы Javascript 2 03.09.2008 22:00