2012-12-16 2 views
0

다음 구성이 있습니다. ajax로 제출 된 양식과 ckeditor를 사용하는 텍스트 영역입니다. ckeditor를 사용하기 때문에 양식은 두 번째 버튼을 누르십시오. 첫 번째 버튼을 누르면 양식이 제출되지 않습니다.ajax 양식은 두 번째 제출 후 ckeditor와 함께 제출합니다.

JS 내가 ckeditor GetData 메서드 여전히 동일한 결과를 시도

<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.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. 형태의 두 번째 키를 누릅니다에 제출한다 :

답변

0

당신은 여전히 ​​같은 핸들러

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

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

     /* your handler code*/ 

    /* OR after code*/ 

    return false; 

}) 
+0

제출에 event.preventDefault() 또는 return false 중 하나를 사용하여 양식의 브라우저 기본 submital을 방지 할 필요가있다. – user7832

+0

'$ .trim ($ ("#_ message_tokenizer"))을 제거하면 어떻게 될까요? val())! = ""& if'from'if? 당신은 CKEditor가 API 메소드를 사용하여 텍스트 영역을 강제로 업데이트 할 수 있습니다. 'if'가 문제라고 가정하면 – charlietfl

+0

도 AJAX가 전송되는지 여부를 알아야합니다. '제출하지 않음'과 그 방법을 알고 싶다면 제출하지 않습니다 – charlietfl

관련 문제