Премахване на шпионско валидиране на вход в javascript

Искам да имам формуляр на моята страница за плащане, който има вход за адрес за фактуриране, а също така имам списък с адреси за фактуриране. Ако потребителят е добавил адрес за фактуриране от своя акаунт, той ще бъде посочен на касата. Сега, ако потребителят е на страницата за плащане, тогава той/тя ще има две опции, изберете адрес за фактуриране от списъка или добавете нов адрес за фактуриране. Към формуляра „добавяне“ е добавено бързо валидиране.

Проблемът ми беше, че ако потребителят избере адрес за фактуриране от списъка, бързото валидиране все още се извършва във формуляра за адрес за фактуриране и потребителят не може да изпрати формуляра. Това, което бих искал да се случи, е, че ако потребителят щракне върху връзката „добавете новото таксуване“, тогава ще бъде създаден обектът за бързи валидации и формулярът ще се покаже и когато потребителят щракне върху бутона за отказ, обектът ще бъде унищожен .

Създадох обект, когато потребителят кликне върху връзката за формуляра за добавяне. И обектът, и валидирането работят перфектно.

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

Как да унищожа обекта или да премахна проверката, когато потребителят щракне върху бутона за отказ. Опитах някои начини, но не става. Примери:

delete UserAddressBookFullNameValid;
UserAddressBookFullNameValid = null;

Може ли някой да ми помогне да направя това или да ми даде друг начин?

Благодаря


person Pathik Gandhi    schedule 21.03.2012    source източник


Отговори (1)


За да работи това, уверете се, че UserAddressBookFullNameValid е дефиниран във вашия javascript.

var UserAddressBookFullNameValid;

Създайте бърза проверка за полето, както правите сега. В кода за бутона за отказ поставете:

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

  UserAddressBookFullNameValid.destroy();
  UserAddressBookFullNameValid= null;
}

Имах подобен проблем, с изключение на това, че полето ми трябваше да бъде валидирано само ако има отметка в квадратче и сега работи за мен с този код.

person ItsPete    schedule 26.06.2012