我想用HTML按鈕單擊來運行PHP函數。單擊按鈕時運行PHP函數?
我可以調用PHP腳本是這樣的:
<form action="action.php" method="post">
Name: <input type="text" name="txt"/>
<input type="submit" />
</form>
但我不想要調用 「action.php的」。我只想調用我在這個頁面中定義的PHP函數。這可以做到嗎?
我想用HTML按鈕單擊來運行PHP函數。單擊按鈕時運行PHP函數?
我可以調用PHP腳本是這樣的:
<form action="action.php" method="post">
Name: <input type="text" name="txt"/>
<input type="submit" />
</form>
但我不想要調用 「action.php的」。我只想調用我在這個頁面中定義的PHP函數。這可以做到嗎?
我喜歡用的方法是混合jQuery/ajax調用一個面向對象的PHP類。
我有一個按鈕按下的是這樣一個jQuery監聽器/觸發器:
$('#buttonId').live('click', function() {
$.get('api.php?functionName=test&inputvar=something');
return false;
});
將調用api.php文件通過Ajax並阻止任何進一步的行動,如表單提交。
然後在PHP文件,你總是可以做一些基本的東西,如:
if ($_REQUEST['functionName'] == 'test') {
test();
}
,或者如果你有巨大的類和動態輸入的很多,你可以做一些更有趣,如:
$functionName = $_REQUEST['functionName'];
if (method_exists($myClassInstance, $functionName))
$myClassInstance->$functionName();
有很多方法可以解決這個問題,但這些都是我的最愛。另一種選擇是爲這種活動而構建的Extjs框架,但如果您已經不熟悉這個項目並且該項目不是'龐大的',那麼我不會關心它自己。
最後,如果你需要得到響應從php文件後面如JSON結果,然後,而不是使用jQuery:$.get()
功能,使用該功能$.getJSON
希望幫助:)
這不起作用。在用戶處理頁面時,PHP幾乎完成了處理。您必須使用AJAX將數據發送到服務器並檢索響應。
你可以嘗試:
<form action="pageName.php/functionName" method="post">
Name: <input type="text" name="txt"/>
<input type="submit" />
</form>
你可以有以下方法:
1>使用AJAX來加載「action.php的」同在領域POST輸入到網頁中的數據和然後採取反應並將其放入體內;或者,
2>您無法使其工作,因爲PHP是一種服務器端編程語言,您嘗試使用PHP的HTML是客戶端編程語言。所以除了AJAX之外,沒有辦法讓它工作。
這有點複雜。你可以將表單提交給自己,檢查是否設置了post變量(如果是,那麼由於表單已經提交,頁面正在運行),或者你可以使用ajax。 第一個是更簡單的解決方案,第二個不需要重新加載頁面。選擇你的毒藥;)
看第一個解決方案的this,看第二個jquery's ajax functions。
你需要在你的最後做到這一點。處理帖子並在你自己的action.php頁面中調用該函數。你也可以創建一個單獨的php頁面來調用在action.php中定義的函數。
你應該包括a.php只會在action.php的,例如:
action.php的:
include('a.php');
//Your codes
如果你想例如
OK()在a.php只會功能,現在。 PHP中存在action.php的
你可以很容易地用jQuery做
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
function submitform(){
$('#myForm').post("pageName.php", $("#myForm").serialize());
}
</script> </head>
<form action="pageName.php" method="post" id"myForm">
Name: <input type="text" name="txt"/>
<input type="submit" />
</form>
pageName.php?我的網頁是.html ...並且無論如何都無法工作。 – Voldemort 2011-04-27 04:17:55