0

私は CKEditor を使用しています。正常に動作しますが、検証に問題があることがわかりました。私はこのトリックを使用しています:

$('input[type=submit]').bind('click', function () {
    var ckContent = CKEDITOR.instances.Content.getData(); 
    $("#Content").val(ckContent);
});

検証を機能させるためですが、まったく役に立ちません。つまり、フォームを送信すると、値がテキストエリアにバインドされますが、jquery はこれを検証したくありません。CKEditor を完全にオフにすると、検証は純粋なテキストエリアで正常に機能します。では、何が問題なのですか?CKEditor を ASP.NET の検証で動作させるにはどうすればよいですか?

4

1 に答える 1

4

入力選択の発生が遅すぎて検証できないと考えています。したがって、CKEditor をぼかした後、テキスト ボックスを更新する必要があると思います。

var editor = CKEDITOR.replace('content');
editor.on('blur', function (e) {
    $("#Content").val(this.getData());
});

編集:必須フィールドバリデーターを失敗/合格させようとしていると仮定しています。<p>コンテンツがなくても(デフォルトで)CKEditorがタグを配置するのを忘れていました。送信ボタンをクリックしたら、強制的に更新してみてください。

$('input[type=submit]').bind('click', function () {
    CKEDITOR.instances.Content.updateElement();
});

2 番目の編集: デフォルトでは、jQuery 検証は隠しフィールドを検証しません。その機能を MVC の邪魔にならない JavaScript でオーバーライドする$.validator.setDefaults({ ignore: '' });には、検証用の include の直後に追加します。これにより、ページ上のすべてのフィールドを検証できます。

于 2013-03-14T00:57:45.843 に答える