2012-08-03 40 views
0

我有我已經用在CKEditor的一個文本區域:還包括後驗證我的CKEditor文本區域與jQuery

<form name="product_edit" action="products.php" method="post" id="edit_form" enctype="multipart/form-data"> 
<textarea name="products_description" wrap="soft" cols="75%" rows="20" id="products_description"></textarea> 

的jQuery我有以下驗證形式:

$(document).ready(function() { 
    $('#edit_form').submit(function() { 
    if ($('#products_description').val() == '') { 
     alert('Please include a product description.'); 
     return false; 
    } 
    }); // end submit() 
}); // end ready() 

我也有幾個其他領域,我驗證哪些不包括在內的簡潔。

我的問題是,雖然所有其他領域的工作正常,文本區域有時不會。如果我輸入東西,有時不會識別它,但仍會彈出警報。然後,如果我回去點擊(我甚至不必輸入任何內容),並嘗試提交它的作品。

任何猜測爲什麼?

+0

你能發表所有的代碼嗎? – undefined 2012-08-03 22:35:22

+0

似乎很好的工作http://jsfiddle.net/DoomHamster/Gteqc/ – 2012-08-03 22:51:30

+0

@BradleyMountford是小提琴似乎工作,但它使用ckeditor? – 2012-08-04 10:09:29

回答

0

這仍然是一個問題?如果不是,發佈您的解決方案。

CKEeditor不能像那樣工作,你不會得到像$('#products_description').val()這樣的數據。 CKEditor不直接使用textarea,它會生成一個iframe來代替它。要獲得該值,請致電CKEDITOR.instances.editor1.getData(),其中editor1在您的案例中可能爲products_description

0

這適用於我,雖然沒有描述添加工作正常,但如果你把一些空間它被認爲是content.Please添加必要的屬性爲您的textarea。 請包括jquery驗證器和jQuery庫。

$(document).ready(function() { 
    $('#edit_form').validate({ 
     ignore: [],   
     rules: { 
        products_description: { 
          required: function() 
          { 
            CKEDITOR.instances.products_description.updateElement(); 
          } 
         } 
        }, 
        messages: {    
        products_description: "مطلوب" 
        }, 
        /* use below section if required to place the error*/ 
        errorPlacement: function(error, element) 
        { 
         if (element.attr("name") == "products_description") 
         { 
         error.insertAfter("#cke_description"); 
         } else { 
         error.insertAfter(element); 
         } 
        } 
       }); 
    });