Javascript Codeigniter:由于tinymce textarea,未发生验证

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

我使用tinymce作为文本区,并使用AJAX提交表单

由于此tinymce插件,我的文本区域未验证。如果我从这个文本区域删除这个插件,那么这个文本区域正在正确验证

为什么这么乱?请帮我摆脱这个问题

我的查看页面

  <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%">&nbsp;</td>
                        <td width="90%" >&nbsp;</td>
                    </tr>

                    <tr>
                        <td width="10%" style="vertical-align: middle;text-align: right;font-weight: bolder;"><?php echo '<div id="level_removeMe">Body  &nbsp; </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">&nbsp;</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,然后仍然显示以前的错误,然后再次单击它显示第二个错误。。。。。