ajax表格将在第二次提交后用ckeditor提交

时间:2012-12-16 15:15:31

标签: jquery ajax ckeditor

我有以下配置,使用cjeditor提交ajax和textarea的表单,因为我使用ckeditor表单将在第二个按钮按下时提交,在第一个按钮表单上不会提交。

JS

 CKEDITOR.replace('_message_tokenizer', {width:"400", height:"200", toolbar : [['Styles','Font','FontSize','Bold', 'Italic', '-', 'Link', 'Unlink', 'smiley', 'Undo', 'Redo']] });





  $("#envoyer_message_tokenizer").submit(function(){

  if( $.trim($("#_message_tokenizer").val())!="" &&  $.trim($("#contacts").val())!=""){

var contacts=[];
contacts.push($("#contacts").val());

   $.ajax({
  type:"POST",
data:{"action":"envoyer_message_tokenizer", "session_id":<?php echo $session_id['id'];?>, "_message_tokenizer":$("#_message_tokenizer").val(), "_sujet":$("#_sujet").val(), "contacts":contacts} ,
  url: 'messages-ajax.php',
  success: function(data){


    $("#envoyer_message_tokenizer").fadeOut("slow", function(){
      $("#message_tokenizer").children().html(data);

    });

         }
      });
    }
 })

HTML

<form id="envoyer_message_tokenizer" method="post"  action="javascript:;">
<table cellpadding="0"  cellspacing="0" class="padding dotted">
<tr><td valign="top" width="130"><b class="bg">Sujet</b></td>
<td><input type="text" class="_input _input_text" style="width: 399px;" id="_sujet"/></td></tr>
<tr><td valign="top"><b class="bg">Destinataire(s)</b> <span class="ast_oblig">*</span></td>
<td><input type="text" class="_input _input_text"  name="contacts" id="contacts"/></td></tr>
<tr><td valign="top"><b class="bg">Message</b> <span class="ast_oblig">*</span></td>
<td><textarea style="width: 399px;height: 100px;" id="_message_tokenizer"></textarea></td></tr>
<tr class="no_dotted"><td></td><td><input type="submit"  class="_submit" value="envoyer" /></td></tr>
</table>
</form>

我尝试过ckeditor getData方法,但结果仍然相同。

1 个答案:

答案 0 :(得分:0)

您需要使用提交处理程序中的event.preventDefault()return false阻止表单的浏览器默认提交

$("#envoyer_message_tokenizer").submit(function(event) {

     /*use either method*/
     /* before code*/
    event.preventDefault();  

      /* your handler code*/

     /* OR after code*/

     return false;

})