2013-06-26 2 views
0

비슷한 게시물을 읽으려고했습니다. 광산이 메시지를 표시하고 원래 HTML 페이지에 표시되지 않는 PHP 페이지로 이동하는 이유에 대한 코드에 대한 단서를 얻을 수 없습니다.Jquery 게시물 제출은 여전히 ​​원래 페이지에 메시지를 표시하지 않는 PHP 페이지로 이동합니다.

다음은 코드 단편입니다.

In javascript 

$(document).ready(function(){ 
    $("#myForm").submit(function(){ 
    var url = $(this).attr("action"); 
    var str=$(this).serialize(); 
    $.post(url,str,function(msg){$('msg_div').show();$('msg_div').html(msg);}); 
    return false; 
    }); 
}); 

in html 
<form name="myForm" action="abc.php" method="post" enctype="multipart/form-data"> 
... 
<input type="submit" name="Submit" id="Submit" value="Submit" onClick="return validateForm()"/> 

in PHP 
if (mail($to, $subject, $msg, $headers)) echo "<p>hank you for your query.</p>"; 
else { 
    echo "<p>Error: email failed."; die('Error!'); 
} 

이 코드에 어떤 문제가 있습니까? 미리 감사드립니다.

모든 최고의,

앨리슨

답변

0

난 당신이 (잘 보인다 거짓 반환과) 제출 형태의 행동을 막으려 볼, 나는 한 번 이런 짓도하지만, 좋은 하루 되세요 지금 어떤 프로젝트에 있었는지, 그래서 나는 지금 어떤 샘플도 가지고 있지 않습니다.

아마이 도움이 (아직 테스트하지 않았다) :

$("#myForm").submit(function(e){ 
    e.preventDefault(); 
    var url = $(this).attr("action"); 
    var str=$(this).serialize(); 
    $.post(url,str,function(msg){$('msg_div').show();$('msg_div').html(msg);}); 
    return false; 
    }); 

e.preventDefault();가 제출 프로세스를 중지해야합니다. 귀하의 validateForm()은 어떻게 생겼습니까?