2013-10-25 33 views
0

이것은 wordpress를 기반으로하는 사이트와 관련이 있습니다. 나는 특정 시스템에서 특정 div "content-div"의 일부 내용이 아약스를 통해 나에게 이메일로 전송된다. 아래 코드에서 알 수 있듯이 <form> 태그는 사용되지 않습니다. 나머지는 꽤 간단합니다.ajax에서 PHP 함수를 실행하십시오.

HTML : 콘텐츠가 div 내에 생성되어 input-type=submit을 통해 제출됩니다.

<div id="content-div"> 
     //php generated content 
</div> 
<input type="submit" value="SUBMIT-CONTENT" id="button" onClick="handleFormSubmit()"> 

AJAX - 제출하고이 코드를 통해 이루어집니다 리디렉션합니다.

<script language="javascript" type="text/javascript"> 

    function handleFormSubmit() 
     { 
     var button = document.getElementById('button'); 
     button.style.display = 'none'; 
     } 
    </script> 

    <script type="text/javascript"> 
     jQuery(document).ready(function($) 
     { 
     $('#button').click(function(){ 
     $.ajax({ 
       type: 'POST', 
       url: 'http://awesomeness.com/pathto/processForm.php', 
       data:{'message':$('#content-div').html(),'client': $('#some-field').val()   }, 
        success:function(data) { 
        window.location = "http://awesomeness.com/thanks/"; 
      } 
      }); 
      }); 
     }); 
    </script> 

ProcessForm.php에는 기본 html 이메일 코드가 포함되어 있습니다. 다음과 같이 표시됩니다.

$to = "[email protected]"; 
    $subject = "NEW ARTICLE"; 
    $message .= $_POST['message']; 
    $client = $_POST ['client']; 
    $headers = "From: awesomesite <[email protected]>" . "\r\n"; 
    $headers .= "MIME-Version: 1.0\r\n"; 
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";   
    mail($to, $subject, $message, $headers); 

이 모든 것이 정상적으로 실행됩니다. 이제는 방문자가 "SUBMIT-CONTENT"버튼을 눌렀을 때 실행해야하는 또 다른 PHP 함수가 있습니다. 이 기능은 링크로 제공됩니다.

<a class='wpfp-link' href='?wpfpaction=reset' rel='nofollow'>RESET</a> 

클릭 일반적으로이 링크

은 기본적으로 브라우저 캐시를 지우고 주 "콘텐츠 사업부를 '리셋 기능을 트리거합니다. 페이지에이 기능의 링크가 필요하지 않음에 유의하십시오. 난 그냥 어떻게 든 제출에 실행하는 기능이 필요합니다. 기본적으로 방문자가 "SUBMIT-CONTENT"를 클릭하면 "RESET"링크를 클릭 한 것처럼 링크 내의 기능을 실행해야합니다. 이것은 성공 제출시 발생할 수 있으며 양식은 일반적인 일상과 함께 가야합니다. processForm.php에 제출하고 리디렉션 등. 나는 무엇을 요구 하는지를 희망한다. 그렇다면 어떻게? 미리 감사드립니다.

+0

'wpfpaction' 키와'reset' 값에 대한 쿼리 문자열을 구문 분석 일부 기능이 있어야합니다 :

이 질문을 참조하십시오. 그 함수를 찾아서 'window.location' 전에 호출하는 것이 좋습니다 – andyb

+0

또한 삭제 된 질문을 볼 수있는 사람들에게 이것은 어제 요청되었습니다 http://stackoverflow.com/questions/19556586/how-to-execute-a- php-function-on-ajax- – andyb

+0

을 제출하면 함수를 찾을 것입니다. 해결책은 아무데도 나오지 않으므로 삭제하겠습니다. 죄송합니다. – gurung

답변

0

적어도 설명하는 방법은 불가능합니다.

Ajax 요청을 할 때 매개 변수를 보내면 요청의 응답을 구문 분석 할 수 있습니다.

여기서 wpfpaction=reset의 출력은 HTML이 될 것입니다. 하나의 가능성은 페이지의 현재 HTML 코드를 ajax 쿼리의 응답으로 대체하여 wpfpaction=reset으로 바꾸는 것입니다. Change HTML code without refreshing the page

관련 문제