Javascript Codeigniter:由于tinymce textarea,未发生验证
我使用tinymce作为文本区,并使用AJAX提交表单 由于此tinymce插件,我的文本区域未验证。如果我从这个文本区域删除这个插件,那么这个文本区域正在正确验证 为什么这么乱?请帮我摆脱这个问题 我的查看页面Javascript Codeigniter:由于tinymce textarea,未发生验证,javascript,php,jquery,codeigniter,Javascript,Php,Jquery,Codeigniter,我使用tinymce作为文本区,并使用AJAX提交表单 由于此tinymce插件,我的文本区域未验证。如果我从这个文本区域删除这个插件,那么这个文本区域正在正确验证 为什么这么乱?请帮我摆脱这个问题 我的查看页面 <script src="http://static.tinymce.com/tinymce/js/4.0b1/tinymce.min.js"></script> <script type="text/javascript"> t
<script src="http://static.tinymce.com/tinymce/js/4.0b1/tinymce.min.js"></script>
<script type="text/javascript">
tinymce.init({
selector: "textarea", height: 300,
theme_advanced_font_sizes: "10px,12px,14px,16px,24px",
plugins: [
"advlist autolink lists link image charmap print anchor autolink ",
"searchreplace visualblocks visualchars code fullscreen",
"insertdatetime media table contextmenu paste hr emoticons directionality"
],
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image "
});
<!--------FORM SUBMIT AJAX ACTION -->
$(document).ready(function() {
var _status = $('#status');
$("#sendedits-form").submit(function(e)
{
var postData = $(this).serializeArray();
var formURL = $(this).attr("action");
$.ajax({
url : formURL,
type: "POST",
data : postData,
async: true,
dataType: "json",
success: function(dat) {
if (dat.status === 'msgsent') { // $('#status').empty();
alert("succes");
}
else if (dat.status === 'fail') {
}
else
{
$("#status").empty(); $('#subeditbtn').text('Submit');
$('#loadingimg').hide();
$('#subeditbtn').attr('disabled', false);
_status.html('<span class="err">' + dat.message + '</span>');
$("#status").fadeIn("slow");
$("#status").click(function() {
$("#status").fadeOut("slow");
return false;
});
}
},
error: function(err) {
// alert("Ooops! Try again later or else sends us message regarding this issue. Thankyou!");
}
});
e.preventDefault();
});
$('.ckdeditor').keyup(function(){
var keyed = $(this).val();
$(".ckdeditor").html(keyed);
});
});
</script>
<!--- now my html form page -->
<?php $secattr = array('name' => 'sendeditsform', 'id' => 'sendedits-form'); ?>
<?php echo form_open('article/sendedits', $secattr); ?>
<table class="formtable" width="100%" style="margin-top: 0%;">
<tr>
<td width="10%"> </td>
<td width="90%" > </td>
</tr>
<tr>
<td width="10%" style="vertical-align: middle;text-align: right;font-weight: bolder;"><?php echo '<div id="level_removeMe">Body </div>'; ?> </td>
<td width="90%" align="left" valign="top"><?php echo form_textarea($fcontent); //some text data in <ul><li></li> format generated from this same textarea ?></td>
</tr>
<tr>
<td width="10%" align="center" valign="bottom"> </td>
<td width="90%" align="left"><input type="submit" value="Submit"/></td>
</tr>
</table>
<?php echo form_close(); ?>
控制器
public function sendedits()
{ $this->load->library('form_validation');
$this->form_validation->set_error_delimiters('<li class="errorlist">', '</li>')->set_rules('content', 'Body', 'trim|required');
if (!$this->form_validation->run())
{ //False
$this->_status['status'] = "error";
$this->_status['message'] = $this->load->view('commonfiles/ajax_error_display_1', '', TRUE);
}
else if ($this->form_validation->run() && $this->input->post('myId')=='')//myId=just for checking robot or human
{ $this->_status['message'] = 'Thankyou for your edits. We will review it before publishing.';
$this->_status['status'] = "msgsent";
//send email
}
echo json_encode($this->_status);
}
首先:将ID属性添加到文本区域。我说“编辑选择器”是错的。它必须是编辑器ID:。序列化表单之前,请添加以下代码:
$('#textarea_id').html( tinymce.get('textarea_id').getContent() );
TinyMCE添加了一些HTML标记。因此,解决方案是将strip_标记[您的变量]比较为空,但这当然会使codeigniter验证无效$fcontent的内容是什么?首先在此处放置一个分号echo“Body”,尝试将事件从$sendedits-form.submitFunction更改为submit按钮clikevent@Nouphal.M我尝试使用$'form_id'。绑定'submit',功能{,仍然是同一个问题..但是如果我从我的textarea中删除这个tinymce效果,那么它就可以正常工作了。在表单提交事件上没有。尝试按钮单击事件将选择器放在引号中:“textarea”。还有ommit那个“编辑器选择器”-这只是解释-$'textarea'。htmltinymce.get'textarea'。getContent;好的,我忘记了一件事-textarea h至于have ID属性。将其添加任何值,并将textarea_ID从更新的答案替换为您给定的ID。按照您所说的操作后仍然出错。未捕获的语法错误,无法识别的表达式:textarea_id@rani嗯,不必要的括号;>它应该是$'textarea\u id'而不是$'textarea\u id'。当然,你必须把你的textarea\u id改为$'textarea\u id'rea的id是一样的吗?.my textarea from browser:…我通过输入“$”textarea_id.html tinymce.get'textarea_id.getContent;`序列化前的代码进行测试。现在对于第一个请求,它工作正常,但第二次进行新的更改,然后单击submit,然后仍然显示以前的错误,然后再次单击它显示第二个错误。。。。。