有一個function a($a){
}
echo ""
該怎麼寫??
為什麼我寫出來的執行不了呢
回複內容:
有一個function a($a){
}
echo ""
該怎麼寫??
為什麼我寫出來的執行不了呢
HTML不能使用PHP層面的函數
echo到頁面的是一段html文本,這個時候input.submit觸發的a()是頁面中的javascript函數,你在php裡定義的a()是調用不了的
onclick是瀏覽器的一個事件,能調用一個JS函數,但不能調用PHP函數,因為PHP解譯器是在伺服器.所以你可以這樣,onclick後調用一個JS函數,這個JS函數向PHP伺服器發出AJAX請求,這時你就可以編寫PHP函數來響應並返回資料給瀏覽器了.AJAX操作建議使用jQuery庫的$.post()和$.get()來進行.
前後端分清楚,
如果是希望用戶端click時才調用執行那個函數,
那麼函數就要寫成js的,onclick裡面調用js函數,
如果是伺服器運行那個函數,onclick裡面的東西在頁面載入出來就是固定的了,
php是在伺服器端執行的,javascript是在用戶端執行的。雖然代碼寫在一起,但執行時間不一樣。
你可以用php在頁面中輸出javascript來給前端變數賦值。
也可以用javascript請求url介面的方式來執行php在後端封裝好的方法。
代碼的執行順序是先在服務端執行PHP代碼,由PHP輸出String類型的HTML代碼到用戶端,此時PHP執行完了就不能再執行任何PHP代碼的,然後接下來的事情就交給瀏覽器、JS、CSS等來渲染解析執行了。。。
你可以在HTML中用JS移植你的PHP函數,然後執行JS函數,比如:
/*HTML*/
/*JS*/function test(a){ console.log(a);}
一般html調用的函數在js裡面
如果題主看完前面的答案,已經分清了前端指令碼和後端指令碼。
那麼現在的需求用ajax應該能夠實現
在瀏覽器裡面是沒有php代碼的。php先對檔案進行解析,產生html檔案,然後瀏覽器拿到的html檔案裡面一行php代碼都沒有。當然不能執行了。
echo "";
應該是這麼寫吧。
form中input type是submit的時候點擊會提交這個form,你可以把type='submit'改成type='button'