Javascript.RU

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

Передача переменных из eventListener`a другой функции
Уважаемые форумчане, помогите пожалуйста начинающему:

Задача - передача переменных, полученных от addEventListener - другой функции:

// Сбор значений с формы

var form = document.querySelector("form");

  form.addEventListener("submit", function(event) {
    
    event.preventDefault();
    
    var from = form.elements.from.value;
    var to = form.elements.to.value;

    });


  function soapRequest(){

  // Передать сюда переменные с введенными с формы значениями

  }


<form class="myform" action="#" method="post">
  
   <input  id="from" name="from" placeholder="From">
   <input  id="to" name="to" placeholder="To">
   <input type="submit" value="Search" onclick="soapRequest();">

  </form>


Благодарю за внимание!
Ответить с цитированием
  #2 (permalink)  
Старый 20.07.2016, 11:56
Аспирант
Отправить личное сообщение для Spass Посмотреть профиль Найти все сообщения от Spass
 
Регистрация: 14.07.2016
Сообщений: 86

var form = document.querySelector("form");
 
  form.addEventListener("submit", function(event) {
     
    event.preventDefault();
     
    var from = form.elements.from.value;
    var to = form.elements.to.value;
 soapRequest(from, to);
    });
 
 
  function soapRequest(from, to){
 
  // Передать сюда переменные с введенными с формы значениями
 
  }


Можно в первой функции вызвать вторую и передать ей параметры
Ответить с цитированием
  #3 (permalink)  
Старый 20.07.2016, 18:43
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

ТС, пили кулстори целиком.

form.addEventListener("submit", function(e) {
    
    e.preventDefault();
    
    var els=this.elements;

    soapRequest(els.from.value,els.to.value)

});
Ответить с цитированием
  #4 (permalink)  
Старый 20.07.2016, 18:48
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

ТС не понимает базиса

Цитата:
от addEventListener - другой функции:
У листенера уже есть функция, она собственно та самая другая.

Например те же яйца вид сбоку:

var validate = function(event) {
    
    event.preventDefault();
    
    var els=this.elements;

    soapRequest(els.from.value,els.to.value)

};

form.addEventListener("submit", validate);


То есть зачем куда-то передавать набор переменных, если можно там же все решить.

ЗЫ откуда в validate берется event и this? Из вызываемой функции. Это надо понимать, что у "листенера" есть такой вот унутренний интерфейс, то есть метод:

.submit=function(event,this){}; или просто свойство .submit, это сейчас не важно

который просто перезаписывается функцией addEventLisnener, то есть она заменяет

.submit=function(event,this);

на

.submit=function(event,this){// тут дохера кошерного кода };

или на указатель функции

.submit=my_lovely_fynction

И когда событие сгорает, внутри извилин браузера делается вот так

.submit(event,this);

То есть функция запускается. Если никто не менял ее - событие остается незамеченным, а если поменяли - обрабатывается.

Последний раз редактировалось warren buffet, 20.07.2016 в 18:57.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод нескольких переменных с функции SnowyWolf Общие вопросы Javascript 10 23.04.2014 14:34
Проверка повторного вызова функции без глобальных переменных GlaIZier Общие вопросы Javascript 21 29.03.2014 20:31
Передача функции другой функции ntro123 jQuery 3 20.02.2011 12:15
Вызов функции, находящейся в другой функции ZneP Events/DOM/Window 6 24.08.2010 18:45
Вызов функции из другой функции.. ?? glutton Общие вопросы Javascript 3 21.08.2009 22:33