2013-09-06 2 views
-3

나는 이것이 여러 번 게시되었음을 알고 있지만, 나는 그것을 알아낼 수없는 것 같습니다. 다음은 내가하려는 일에 대한 개요입니다.PHP 스크립트에서 Javascript 기능을 실행하도록 지시하려면 어떻게해야합니까?

PHP 폼에 HTML 폼이 있습니다. 양식 제출시, 조치는 양식이있는 것과 동일한 PHP 페이지를 호출합니다. 이 과정에서 내 서버는 폼에 삽입 된 정보를 모아서 이메일로 보내주는 PHP 코드를 페이지 상단에서 실행합니다. 전자 메일을 보낸 후에 내 양식이 들어있는 DIV를 숨기고 숨겨진 양식으로 바꾸고 양식을 제출 한 사용자에게 감사드립니다.

내 질문은 어떻게됩니까? Javascript 기능을 실행하는 스크립트? 내 이메일은 정상적으로 전송되며 DIV를 대체 할 수 없습니다.

여기 내 코드가 있습니다.

HTML

     <form id="contact-form" name="contact-form" action="contact.php" method="post"> 
         <table> 
          <tr> 
           <td width="79"><p><font style="color:#ebe775;">*</font>Name:</p></td> 
           <td width="309"><input type="text" name="name" id="name" placeholder="First Last" size="45" required></td> 
          </tr> 
          <tr> 
           <td><p><font style="color:#ebe775;">*</font>Email:</p></td> 
           <td><input type="email" name="email" id="email" size="45" required></td> 
          </tr> 
          <tr> 
           <td><p><font style="color:#ebe775;">*</font>Message:</p></td> 
           <td><textarea name="message" id="message" cols="42" rows="8" required></textarea></td> 
          </tr> 
          <tr> 
           <td style="text-align:center;" colspan="2"><input type="submit" value="Submit" name="submit" id="submit"><input type="hidden" name="parse_var" id="parse_var" value="contact-form"></td> 
          </tr> 
         </table> 
        </form> 
       </div> 
       <div id="hidden_div" style="display:none;"> 
        <h2>Thank You!</h2> 
        <p>Your form was submitted. We'll review it and get back with you as soon as we can.</p> 
       </div> 
      </div> 
     </div> 

PHP 스크립트

<?php 
if ($_POST['parse_var'] == "contact-form"){ 
    $emailSubject = 'New CONTACT Form Submission'; 
    $to = '[email protected]'; 

    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 

    $body = <<<EOD 




다음 정보는 JakesCreativeDesign.com의 문의 양식을 사용하여 제출했다.


이름 : $ 이름

이메일 : $ 이메일

메시지 : $ 메시지

EOD;

$headers = "From: [email protected]\r\n"; 
    $headers .= "Content-type: text/html\r\n"; 

    mail("$to", "$emailSubject", "$body", "$headers"); 

} 당신은 거꾸로보고있는

  <script type="text/javascript"> 
      function showHide() { 
        var div = document.getElementById("hidden_div"); 
        if (div.style.display == 'none') { 
        div.style.display = ''; 
        } 
        else { 
        div.style.display = 'none'; 
        } 
       var div = document.getElementById("form"); 
        if (div.style.display == '') { 
        div.style.display = 'none'; 
        } 
        else { 
        div.style.display = ''; 
        } 
      } 
     </script> 

답변

1

?>

자바 스크립트 기능. PHP는 서버에서 실행되고 자바 스크립트는 사용자의 브라우저에서 실행되기 때문에 PHP는 자바 스크립트를 실행할 수 없습니다. 자바 스크립트 (AJAX를 통해)에서 PHP를 호출 할 수 있지만 PHP에서 자바 스크립트를 호출 할 수는 없습니다.

4

그렇지 않습니다. PHP는 서버에서 실행됩니다. Javascript가 클라이언트에서 실행됩니다. 대부분의 PHP는

과 같은 일을 할 수 있으므로 페이지가 브라우저에 의해로드 될 때 함수가 호출됩니다. 하지만 그렇지 않으면 페이지가 클라이언트에게 보내지면 PHP가 손을 뻗어 그 페이지에 다시 명령 할 수있는 방법이 없습니다.

+0

이렇게하는 것이 더 좋은 방법일까요? – LakeJeffler

관련 문제