2012-07-20 63 views
0

我有一個主要的phtml腳本,我希望在用戶單擊主腳本內的提交按鈕時能夠運行另一個phtml腳本。使用PHP和HTML)目前這是我如何做到這一點。如何在使用html onclick時運行phtml腳本()

<input id="submit" type="submit" name="submit" value="Submit" onclick="self.location.href='another.phtml'"/> 

當我運行這個,它會加載頁面,但它不會實際執行任何腳本。而且我知道它的作品,因爲我使用電話時,我能成功地執行它:

<a href="another.phtml">Click Here</a> 

我也嘗試創建一個額外的PHP腳本,並使用包括包括附加的PHTML文件,然後調用它使用上面的相同方法。

我也試着使用JavaScript(見例如:How do I run PHP code when a user clicks on a link?

有另一種方法,我可以做到這一點?

謝謝您的時間

+0

將表單提交到網址或通過點擊點擊網址應該沒有區別 - 它們都只是HTTP請求。如果它適用於一個,它會爲另一個工作。 – 2012-07-20 16:02:18

+1

我在想這是因爲你有''。嘗試使用「>代替。 – DaveRandom 2012-07-20 16:03:56

+0

我嘗試了兩個建議,但仍然無效。當提交它像一個網址,它不會加載頁面或做任何事情。當提交它作爲「按鈕」時,它加載頁面但不執行腳本。 – user1186173 2012-07-20 16:10:45

回答

0

創建行動,並在行動使用(another.phtml)視圖中,可以設置視圖文件中使用View Renderer action helper行動中。點擊鏈接提出請求(或者,用你的話說,運行腳本)是使用Ajax完成的。它在互聯網上的覆蓋面非常廣泛,所以我不會深入細節。

在Zend Framework中,phtml文件是視圖文件:它們只是用來打印變量值,打印HTML標籤等等。它們中的PHP代碼量非常小:循環等等,正是你需要的打印一些東西在數據庫請求或任何其他類型的業務邏輯內部被認爲是不好的設計,不合邏輯的分離。他們並不是要跑到控制器之外,獨自一人。

希望它有幫助,讓我知道如果我誤解了一些東西。

+0

就在我看到這個之前,我想出了我需要如何在控制器中創建一個動作,並且它工作正常。不過謝謝您提供更多的信息。我真正想要做的是根據我可以從控制器獲得的一些信息創建一個文件,我不需要它進入另一個頁面。我實際上更喜歡它會保持在同一頁面上。但是,我不確定在主phtml文件中如何使用onclick()。 – user1186173 2012-07-20 18:55:10

+0

@ user1186173「創建文件」是什麼意思?你需要做一個AJAX請求,它使用你選擇的JavaScript庫(通常是jQuery)完成。 Zend沒有具體的內容,網絡上有很多教程。其中之一:http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/ – Gediminas 2012-07-20 19:40:35

+0

它是一個基於我從控制器獲得的信息的文件,這就是爲什麼我需要控制器。我從來沒有使用過AJAX,也沒有使用過JavaScript – user1186173 2012-07-20 19:42:19

相關問題