Javascript.RU

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

привязать 2 обработчика к одной кнопке
Здравствуйте, товарищи
Выполняя доработку системы (JavaScript, PHP) зависла на следующей задаче: на странице имеется 2 независимых формы (условно форма 1 и форма 2), у каждой несколько полей ввода. Если активна форма 1, заблокирована форма 2 (и наоборот). После ввода всех данных в поля формы 1 происходит их отправка на сервер по нажатию кнопки (также и для второй формы, в зависимости от того, какую используем).
Итак, проблема: кнопка отправки для обоих форм одна и та же. Как корректно задать обработчик для кнопки в зависимости от того, какая форма используется?
*********************
var m_grid1=new TTgrid(3,4); //Формирующая сетка
var m_grid2=new TTgrid(3,4);
...
//форма 1.
var year=new TTselect(new Array({"caption":"Выбрать год","val":""}),170);
var fk=new TTselect(new Array({"caption":"Выбрать факультет","val":""}),170);
...
//форма 2.
var od=new TTselect(new Array({"caption":"Выбрать отдел","val":""}),170);
...
m_grid1.append_to(...);
m_grid2.append_to(...);
...
//описание кнопки, по нажатию которой будем загружать данные на сервер
var go_btn=new TTimgbutton("<br>Загрузить","./img/button/go.png",false,btn_size,btn_size);
go_btn.append($("#tools")[0]);

function load_TT() {... } //функция загрузки данных, полученных из формы 1 на сервер
function load_TT_od() {... } //функция загрузки данных, пщлученных из формы 2 на сервер

//вот здесь нужно как-то выбрать, какую функцию использовать, load_TT или load_TT_od (в зависимости от того, какая форма //активна). пример моего решения

if (year.get_val()>0||fk.get_val()>0) //eсли в форме 1 что-то есть
{ go_btn.add_click(load_TT); } //привязываем к кнопке обработчик 1
else if (od.get_val()>0) //если в форме 2 что-то есть
{ go_btn.add_click(load_TT_od); } //привязываем к кнопке обработчик 2

Очевидно, что работать в таком виде не будет, потому что в начале, при загрузке основной страницы в полях каждой из форм пусто, т.е ни одно из условий не выполнится.
Возможно, нужно в процессе ввода данных в форму каким-то образом общаться с сервером, что данные введены. (PHP, Ajax)
Подскажите пожалуйста, как осуществить задуманное, какие ср-ва и функции использовать.
Ответить с цитированием
  #2 (permalink)  
Старый 02.10.2013, 23:53
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Lemonyy
TTselect
ТТ - пистолет )
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #3 (permalink)  
Старый 04.10.2013, 15:35
Новичок на форуме
Отправить личное сообщение для Lemonyy Посмотреть профиль Найти все сообщения от Lemonyy
 
Регистрация: 02.10.2013
Сообщений: 2

Проблема решена.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отмена выполнения обработчика... Arramis Events/DOM/Window 4 16.08.2013 11:37
Как при быстром многократном клике по кнопке обрабатывать только первый клик battrack jQuery 3 22.03.2012 10:47
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 11:46
К одной функции привязать события и элементы kamushek jQuery 2 08.07.2011 22:12
как привязать метод в качестве обработчика событий Степан Общие вопросы Javascript 9 08.12.2009 00:58