Прототип: вызов пользовательской функции после проверки - PullRequest
0 голосов
/ 04 декабря 2009

Я использую прототип и после успешной проверки должен вызвать мою функцию.

Часть кода:

var validator  = new Validation(this.form);

это проверит форму, но я не знаю, как вызвать мою функцию trackForm после проверки правильности и отправки формы.

Любая помощь?

Ответы [ 2 ]

1 голос
/ 04 декабря 2009

Мне нужно больше деталей, чтобы ответить, по крайней мере, попробую тогда. Я предполагаю, что вы используете PrototypeJS - библиотеку. Эта библиотека не поддерживает проверку по умолчанию, поэтому вы, вероятно, используете для этого другую библиотеку.

Если вы используете проверку Dexagogo (http://tetlaw.id.au/view/javascript/really-easy-field-validation), вам нужно будет использовать обратный вызов onFormValidate.

Я никогда не использовал его, но предполагаю, что вы в основном настраиваете валидацию, как обычно, с добавлением этого дополнительного атрибута. Как это:

var validator = new Validator(this.form, {onFormValidate: trackForm});
var trackForm = function (validationPassed, form) {
  if (validationPassed) {
    form.reset();
  }
}

Ofc вам не нужно создавать trackForm, но написано, как вы упомянули об этом.

Надеюсь, это поможет.

0 голосов
/ 17 июня 2014

Я ценю, что в первоначальном вопросе не упоминалась платформа, но я нашел этот вопрос после того, как Googling активно нашел решение на платформе Magento.

Для тех, кто использует Prototype через Magento и Magento VarienForm, есть простой способ обойтись без использования других валидационных библиотек.

Валидатор присоединяется к форме при ее инициализации, а метод onFormValidate является опцией для валидатора.

Вы можете получить доступ, как показано ниже:

this.form.validator.options.onFormValidate = function(validationPassed, form) {};

См. Приведенный ниже пример, который я проверил на собственные средства и обнаружил, что он работает точно так, как ожидалось:

var contactForm = new VarienForm('contactForm', true);
contactForm.validator.options.onFormValidate = function(validationPassed, form) {
    if(validationPassed){
         alert("Validation Passed");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...