2012-12-16 67 views
0

我有以下配置,一个表格提交与Ajax和textarea使用ckeditor,因为我使用ckeditor表单将提交第二个按钮按下,第一个按钮按下表格将不会提交。ajax表单将提交后第二次提交按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方法,但仍然相同的结果。

回答

0

您需要防止在使用或者event.preventDefault()return false形式的浏览器的默认submital提交处理

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

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

     /* your handler code*/ 

    /* OR after code*/ 

    return false; 

}) 
+0

仍然是相同的:表格将提交第二次按下。 – user7832

+0

如果从'if'中删除'$ .trim($(“#_ message_tokenizer”).val())!=“”&&''会发生什么?你可以强制CKEditor在'if'之前用API方法更新textarea,前提是问题 – charlietfl

+0

也需要知道是否正在发送AJAX ...需要关于'not submitting'的更多详细信息以及如何了解它没有提交 – charlietfl