Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.11.2019, 19:54
Аспирант
Отправить личное сообщение для jay-S Посмотреть профиль Найти все сообщения от jay-S
 
Регистрация: 05.10.2011
Сообщений: 76

Обработка отправки с параметрами ошибка UNDEFINED
Всем привет!

Ошибка следующая вечно выскакивает undefined

<form id="target" action="#">
  <input type="text" value="value">
  <input type="submit" value="Go">
</form>


$('#target').parsley();
$("#target").on( "submit", function( event, param1, param2 ) {
event.preventDefault();
alert(param1);
alert(param2);
});

$('#target').trigger( "submit", [ "1", "2" ] );


я пользуюсь вот такой библиотекой parsleyjs.org
мне нужна она и вот что я проверил, что если в коде убрать $('#target').parsley(); то все работает и параметры определены
но мне нужна эта библиотека в чем может быть ошибка подскажите пожалуйста я очень много пробовал и вот максимум что нашел это то что из-за parsley выводится постоянно при отправке undefined параметры
Ответить с цитированием
  #2 (permalink)  
Старый 15.11.2019, 09:38
Аспирант
Отправить личное сообщение для jay-S Посмотреть профиль Найти все сообщения от jay-S
 
Регистрация: 05.10.2011
Сообщений: 76

Покопавшись вот что я выяснил:
Parsley Events List (https://parsleyjs.org/doc/index.html#events)

оказывается у него есть вот такое событие form:submit (Fired by submit())

и получается нужно вот так написать


$('#target').parsley().on('form:submit', function() {
//КАК МНЕ ПЕРЕДАТЬ СЮДА ПАРАМЕТРЫ?
return false;//прервать стандартную обработку
});


$('#target').trigger( "submit", [ "1", "2" ] );
Ответить с цитированием
  #3 (permalink)  
Старый 15.11.2019, 10:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

jay-S,
var el = $('#target').parsley().on('form:submit', function(event) {
 alert(event);
return false;//прервать стандартную обработку
});
el.trigger( "form:submit", [ "1", "2" ] );
Ответить с цитированием
  #4 (permalink)  
Старый 15.11.2019, 11:06
Аспирант
Отправить личное сообщение для jay-S Посмотреть профиль Найти все сообщения от jay-S
 
Регистрация: 05.10.2011
Сообщений: 76

Сообщение от рони Посмотреть сообщение
jay-S,
var el = $('#target').parsley().on('form:submit', function(event) {
 alert(event);
return false;//прервать стандартную обработку
});
el.trigger( "form:submit", [ "1", "2" ] );
Проверил параметры получены, НО вариант плохой потому что:

-Если нативно отправлять submit из формы например ты ее заполнил и нажал интер - тогда не сработает.

-Во-вторвых что если обработчик $('#target').parsley() записан так что не входит в глобальный var, а форм много и что тогда плодить глобальные переменные считаю не очень хорошо

Может есть способ нативно красиво чтобы работало

Вот как здесь
$('#target').on('submit', function(e, param1, param2) {
e.preventDefault();
console.log(param1);
console.log(param2);
});

$('#target').trigger('submit', ['1', '2']);

Только через PARSLEY он хорош тем что это гибкий инструмент для работы с валидацией форм
Ответить с цитированием
  #5 (permalink)  
Старый 15.11.2019, 11:08
Аспирант
Отправить личное сообщение для jay-S Посмотреть профиль Найти все сообщения от jay-S
 
Регистрация: 05.10.2011
Сообщений: 76

Надеюсь что здесь есть продвинутые юзеры которые смогут решить эту задачу.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
чистка массива от undefined со смещением Evelate Элементы интерфейса 4 20.07.2017 15:23
Фэнсибокс: ошибка loading is undefined l@pteff jQuery 1 19.03.2014 16:19
Ошибка Uncaught TypeError: Cannot read property 'elements' of undefined Allality Общие вопросы Javascript 14 29.07.2012 18:35
Область видимости внутри функций FiMko Общие вопросы Javascript 12 02.11.2010 03:01