フォームを検証するために validationEngine スクリプトを使用しています。私はそれを初期化します:
$("#formid").validationEngine();
送信ボタンからフォームを実際に送信することはありません。onclick
関数を呼び出すイベントでアンカー要素を使用しsaveElement()
ます。この関数では、次のように呼び出します。
$("#formid").validationEngine('validate');
これは問題なく動作します。
その直後に、""
必要なフィールドがエラーを表示し始めるフィールド (たとえば、入力フィールドの内容を ) にリセットしました。
これらのエラーの発生を防ぐために、フォーム要素から validationEngine を削除したいと思います。ただ、なかなか取り出せません。以下のものを含むさまざまなオプションを試しましたが、どれも機能しませんでした。
$('#formid').validationEngine('hideAll'); // To hide the error messages
$('#formid').validationEngine('detach'); // To remove the validationEngine
validationEngineを削除する方法を提案している人はいますか?
回避策
バインドを解除する方法がないように見えます。github プロジェクトに問題を追加しました。たぶん、アンバインド メソッドを実装するでしょう: https://github.com/posabsolute/jQuery-Validation-Engine/issues/287
回避策として、次の解決策を思いつきました。次のいずれかを実行できます。
- jQuery.clone() を使用してイベントなしでフォームをコピーし、元のフォームを削除して、validationEngine をフォームに再度追加します。
- フォーム要素の検証クラスを削除し、それらを配列に格納して、フォームをリセットした後に再度挿入します
まだ開いている
より良い解決策または回避策があるかもしれません。あなたが知っているなら、私に知らせてください。