私はvalidationEngineスクリプトを使用してフォームを検証しています。私はそれを以下のように起動します:jQueryは実行時にvalidationEngineを削除します
$("#formid").validationEngine();
私は実際に送信ボタンからフォームを送信しません。私はsaveElement()
関数を呼び出すonclick
イベントのアンカー要素を使用します。この機能では、私は呼ん:
$("#formid").validationEngine('validate');
だけで正常に動作しています。
その後、必要なフィールドにエラーが表示されるフィールド(たとえば、入力フィールドの内容は""
)をリセットします。
これらのエラーが発生しないように、私はフォームエレメントからvalidationEngineを削除したいと思います。しかし、私はそれを削除することはできません。私は以下のものを含む様々なオプションを試しましたが、どれも働いていませんでした。
どのように私はvalidationEngineを削除できますか?
回避策
何のアンバインド方法がないように、それは本当に縫い目。私はgithubプロジェクトに問題を追加しました。私は以下のソリューションを思いついた解決策として https://github.com/posabsolute/jQuery-Validation-Engine/issues/287
:おそらく彼らは、アンバインドメソッドを実装します あなたがいずれかの可能性:
- 利用jQuery.clone()イベントせずにフォームをコピーするには、元のフォームを削除し、フォームにvalidationEngineを追加し、再び
- は、フォーム要素の検証クラスを削除し、配列に格納し、フォーム
まだ開いています
もっと良い解決策または回避策がありますか?あなたが1つを知っているなら、私に知らせてください。
残念ながら、これは私のためには動作しません。私は本当にフォームを提出するのではなく、サーバーにajaxリクエストを介してデータを送信します。 すべての要素を編集するために同じフォームを使用するため、フォームを削除できません。そして私がそれを隠すかslideUp(私が使用する)をエラーにしても表示されます。それらは空の背景の上に表示されます。 –
私はあなたの使用を支持しないでしょう(どちらも私の解決策ではありません)。うまく劣化しているjavascriptは、ほぼすべてのウェブサイトにとって必須です。 –
この目的のためにサブミット要素の代わりにアンカー要素を使用する違いは何ですか?あなたがAJAXリクエストを通してあなたのデータを送るとき、あなたはvalidationEngineを取り除くためにform要素を破壊しなければならないと信じられません。別の方法はありませんか? –