2013-03-14 165 views
0

我使用CKEditor,它工作正常,但事實證明,驗證存在問題。我使用這個技巧:ASP.NET MVC和CKEditor - 不驗證

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

爲了驗證工作,但它並沒有幫助的。我的意思是,當我發送表單時,它將值綁定到textarea,但jquery不想驗證它。當我完全關閉CKEditor時,驗證在純textarea上正常工作。那麼,什麼是錯的?我如何使CKEditor與ASP.NET的驗證一起工作?

回答

4

我在想輸入選擇發生得太晚而無法驗證。所以我想你需要在模糊CKEditor之後更新文本框。

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

編輯:我假設你想獲得一個必需的字段驗證失敗/通過。即使沒有內容(默認情況下),我忘記了CKEditor會將<p>標籤置於其中。點擊提交按鈕,嘗試強制更新:

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

SECOND EDIT:默認情況下,jQuery驗證不會驗證隱藏字段。使用MVC的無阻礙JavaScript重寫該功能,在包含驗證之後添加$.validator.setDefaults({ ignore: '' });。這將允許所有字段在頁面上進行驗證。

+0

恩,那也不管用。 :/ – ojek 2013-03-14 00:59:53

+1

檢查更新後的答案,如果您試圖驗證所需字段,我認爲這將對您有用。 – 2013-03-14 01:22:27

+0

什麼都沒有。 :/我檢查了螢火蟲,當我點擊提交時,你的代碼被擊中,但沒有任何反應,表單通過。 – ojek 2013-03-14 01:40:16