我有一个文字区域,我用过ckeditor:
<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 :(得分:0)
这还是个问题吗?如果没有,请发布您的解决方案。
CKEeditor不能像那样工作,你不会获得像$('#products_description').val()
这样的数据。 CKEditor不直接使用textarea,它生成一个iframe而不是它。要获取该值,请致电CKEDITOR.instances.editor1.getData()
,其中您的案例中的editor1可能为products_description
。
答案 1 :(得分: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);
}
}
});
});