Удаление проверки spry на входе в JavaScript - PullRequest
1 голос
/ 21 марта 2012

Я хочу, чтобы на моей странице оформления заказа была форма для ввода адреса для выставления счета, а также список адресов для выставления счета.Если пользователь добавил какой-либо платежный адрес из своей учетной записи, он будет указан в кассе.Теперь, если пользователь находится на странице оформления заказа, у него / нее будет два варианта: выбрать платежный адрес из списка или добавить новый платежный адрес.К форме «добавить» добавлена ​​проверка spry.

Моя проблема заключалась в том, что если пользователь выбирает адрес для выставления счета из списка, проверка spry все еще происходит в форме для выставления счета, и пользователь не может отправитьформа.Что бы я хотел, чтобы это произошло, если пользователь щелкнет ссылку «добавить новый биллинг», тогда будет создан объект проверки spry, и отобразится форма, а когда пользователь нажмет кнопку «Отмена», объект будет уничтожен..

Я создал объект, когда пользователь нажимает на ссылку для формы добавления.И объект, и проверка работают отлично.

UserAddressBookFullNameValid = new Spry.Widget.ValidationTextField("UserAddressBookFullNameValid", "none", {validateOn:["blur"]});

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

delete UserAddressBookFullNameValid;
UserAddressBookFullNameValid = null;

Так может ли кто-нибудь помочь мне сделать это или дать какой-нибудь другой способ?

Спасибо

1 Ответ

1 голос
/ 26 июня 2012

Чтобы эта работа работала, убедитесь, что UserAddressBookFullNameValid определено в вашем javascript.

var UserAddressBookFullNameValid;

Создайте проверку spry для поля, как вы делаете сейчас. В коде для кнопки отмены введите:

if (UserAddressBookFullNameValid != undefined) {
  UserAddressBookFullNameValid.reset();   //Resets any validation css on the form
                                          //(may not be necessary if hiding the inputs

  UserAddressBookFullNameValid.destroy();
  UserAddressBookFullNameValid= null;
}

У меня была похожая проблема, за исключением того, что мое поле нужно было проверять, только если флажок был установлен, и теперь он работает для меня, используя этот код.

...