2012-05-12 36 views
-1

我想要的功能添加到窗體,所以當點擊提交按鈕,一個功能被執行,而不是離開頁面。運行函數從表

而且我不能用$ _ POST,因爲我需要的URL。

這裏是我的腳本:

function submitclicked() 
    { 
    echo 'Hello World'; 

    } 
    <form action="" method="post" id="TransactionAddForm"> 
    <input type="hidden" id="TransactionAccountID" value="'.$zpid.'" name="data[Transaction][account_id]"> 
    <input type="hidden" id="TransactionAmount" value="'.$_POST['price'].'" name="data[Transaction][amount]"> 
    <input type="hidden" id="TransactionDesc" value="'.$desc.'" name="data[Transaction][desc]"> 
    <input type="hidden" id="TransactionRedirectUrl" value="'.$backurl.'" name="data[Transaction][redirect_url]"> 
    <div class="submit"><input type="image" src="http://www.zarinpal.com/img/merchant/merchant-6.png" ></div> 
    </form>; 

TNX對您有所幫助。

+2

PHP是serverside。 – PeeHaa

回答

2

你基本的瞭解是有缺陷的。 PHP是一種服務器端語言,也就是說,它運行在服務器端。它無法捕獲按鈕點擊或瀏覽器事件。它只能處理客戶端到服務器的請求。

你的功能可能後只運行的形式提交給服務器。

爲您的問題,使用JavaScript。

此外,你在這裏是不是一種形式。用戶沒有表單控件可以從這裏選擇。

+0

tnx您的意見。所以沒有辦法,當點擊一個按鈕時,執行一個功能,然後打開另一個網頁。我使用此表單接受購買,但首先我需要編輯一組數據庫值,然後客戶端重定向到付款網站。 – Siwa

+0

@ user1391170:設置您的數據庫,並使用一個'header(「Location:new-location);'。 –

+0

重定向,我該怎麼做?我是PHP新手(我已經開始學習3周前)。需要在我的MYSQL中設置一個待定值,所以我會知道這個用戶試圖購買東西,然後客戶端重定向到付款網頁,然後在付款後,這個待處理的值將被刪除(我知道如何使用MYSQL) – Siwa

0

在你提交調用該函數的末尾添加return false;。這樣,表單將不會被提交。您還可以添加一個簡單的按鈕,類型爲button,而不是類型submit。這些按鈕也不會提交表單。

- 編輯 - 我假設你想打電話給你的提交按鈕的點擊JavaScript函數。任何PHP當然是服務器端的...

+0

仔細閱讀問題。 JavaScript中沒有'echo',問題是標記爲PHP。 –

+0

我知道,我正在嘗試就可能的事情提供建議。我建議使用JavaScript的任何可能的選項。 – Hidde