我有以下配置,使用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方法,但结果仍然相同。
答案 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;
})