xheditor と
validate は両方とも優れた
jQuery プラグインですが、両方を組み合わせると、初期化の順序が正しくないと、微妙な結果が生じる可能性があります。テキスト投稿ページを作成するときにこれら 2 つのプラグインを同時に使用しました。1 つはリッチ テキスト エディターを表示するために使用され、もう 1 つはユーザーがコンテンツを入力したかどうかを確認するために使用されました。私の初期化コードは次のとおりです。 :
$("#form1")。 validate({
rules: {
Body: "必須"
},
messages: {
Body: "テキストを入力してください"
}
});
var editor = $("#Body"). xheditor(true, {
tools: "simple"
});
が入力されているのに、初めて「本文を入力してください」ボタンを押しても「お願いします」と表示され、2回目に送信ボタンをクリックするまで送信されないのが不思議な現象です。 。 何が問題ですか?
現在のプロジェクトにはこれら 2 つのプラグインを使用するページが複数あり、そのうちの 1 つのページは送信時に正常だったので、正常なページと問題のあるページの類似点と相違点を注意深く比較したところ、次のことがわかりました。初期化の順序が異なります。通常送信できるページでは、まず xheditor が初期化され、次に validate が初期化されますが、問題のページはまったく逆です。この時点で問題は解決されています。2 つのプラグインの初期化順序が逆であり、検証前に xheditor が初期化されている限り、「二重送信」問題は回避できます。
この記事がお役に立てば幸いです。
CKEditor にもこの問題があります。私の解決策は、エディターでコンテンツを取得してテキストエリアに配置することです。