1

チェックアウトページに請求先住所の入力が記載されたフォームが必要です。また、請求先住所のリストもあります。ユーザーが自分のアカウントから請求先住所を追加した場合は、チェックアウトに表示されます。これで、ユーザーがチェックアウトページを表示している場合、リストから請求先住所を選択するか、新しい請求先住所を追加するかの2つのオプションがあります。「追加」フォームには、spry検証が追加されています。

私の問題は、ユーザーがリストから請求先住所を選択した場合でも、請求先住所フォームでスパイ検証が行われ、ユーザーがフォームを送信できないことでした。ユーザーが「新しい請求を追加」リンクをクリックすると、spry検証オブジェクトが作成されてフォームが表示され、ユーザーがキャンセルボタンをクリックすると、オブジェクトが破棄されます。 。

ユーザーが追加フォームのリンクをクリックしたときにオブジェクトを作成しました。オブジェクトと検証の両方が完全に機能します。

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

ユーザーがキャンセルボタンをクリックしたときにオブジェクトを破棄するか、検証を削除する方法。私はいくつかの方法を試しましたが、うまくいきません。例:

delete UserAddressBookFullNameValid;
UserAddressBookFullNameValid = null;

それで、誰かが私がこれをするのを手伝ったり、私に別の方法を与えることができますか?

ありがとう

4

1 に答える 1

1

これを機能させるには、JavaScript で UserAddressBookFullNameValid が定義されていることを確認してください。

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;
}

チェックボックスがチェックされている場合にのみフィールドを検証する必要があり、このコードを使用して機能するようになったことを除いて、同様の問題がありました。

于 2012-06-26T04:25:47.843 に答える