2017-03-16 71 views
0

一個JS的功能,這是我的JS:調用通過PHP

function showErrorMsg() { 
    modal.style.display = "block"; 
} 

我想通過PHP來調用該函數:

if(empty($from) || empty($first_name) || empty($last_name) || empty($_POST['message'])) { 
    // CALL showErrorMsg(); 
} 

每當我在郵件點擊一個按鈕的PHP線被稱爲-form,並檢查是否有任何字段爲空。

我嘗試這樣做:

if(empty($from) || empty($first_name) || empty($last_name) || empty($_POST['message'])) { 
     echo "<script type='text/javascript'>showErrorMsg();</script>" 
    } else { 
     mail($to,$subject,$message,$headers); 
     mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender 
     echo "Mail Sent. Thank you " . $first_name . ", we will contact you shortly."; 

    } 

但是,這給了我一個HTTP 500錯誤..

的JS是在其名爲modal.js自己的文件。

注:JS基本上只是一個例子。有很多令人困惑的東西,所以需要JS功能。只是想在有人來之前澄清一下,並告訴我PHP如何更改樣式屬性。 ;)

+2

你檢查了你的錯誤日誌嗎? – RGriffiths

+1

@Rriffiths它只是給了我'PHP解析錯誤:語法錯誤,意外的'}',期待','或';''這似乎並不有用。更像是它甚至不知道發生了什麼,哈哈。語法錯誤在echo-line –

+0

[客戶端和服務器端編程有什麼區別?](http://stackoverflow.com/questions/13840429/what-is-the-difference-between-client - 邊和服務器端編程) – hassan

回答

1

正如@hassan上面在他的評論鏈接,

What is the difference between client-side and server-side programming?

這裏的問題是執行服務器端VS客戶端腳本之間的誤解。 Javascript(除了NodeJS)是客戶端語言。這意味着它不會被服務器執行,並且不能運行服務器代碼。它由瀏覽器執行。換句話說,你的PHP腳本完成後,所有的Javascript都會立即運行。

這意味着您需要以使用點擊偵聽器的方式輸出Javascript,以通過向其他PHP文件發送HTTP請求來向您的PHP(服務器)調用AJAX請求。