Обработка отправки с параметрами ошибка 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 параметры |
Покопавшись вот что я выяснил:
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" ] ); |
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 он хорош тем что это гибкий инструмент для работы с валидацией форм |
Надеюсь что здесь есть продвинутые юзеры которые смогут решить эту задачу. :)
|
Часовой пояс GMT +3, время: 06:11. |