我想調用一個PHP函數,在同一頁面上點擊超鏈接(帶有<a>
標籤的文本)時傳遞參數,即href='#' onclick='loadpic($id)
。如何通過超文本鏈接調用php函數
其中$id
是要傳遞給PHP函數的變量。
我想調用一個PHP函數,在同一頁面上點擊超鏈接(帶有<a>
標籤的文本)時傳遞參數,即href='#' onclick='loadpic($id)
。如何通過超文本鏈接調用php函數
其中$id
是要傳遞給PHP函數的變量。
你可以很容易地通過ajax來做到這一點。在JavaScript中創建一個loadpic函數,然後通過ajax將$ id傳遞給php文件,並在獲得結果時執行某些操作。
你的JavaScript文件應該看起來像這 -
(請確保您插入您的索引文件的鏈接的jQuery)
function loadpic(id_param){
$.post("filename.php",
{
id: id_param
},
function(data){
alert("Data received:" + data);
});
};
的功能(數據)的數據參數將是值你已經在php文件中迴應。
注意,'jquery'標籤不會出現在問題中。 – guest271314
在jQuery中實現一些東西肯定比js容易。 user2599097不知道答案,並期望它在js中,這就是爲什麼沒有這樣的標籤(我猜) –
_「在jQuery中實現某些東西肯定比js更容易。」_?這是如何確定的? – guest271314
您仍然必須讓javascript處理異常,因爲php沒有onclick。
onClick=\"loadpic("'.$id.'");"\
//this will only send a php variable javascript will still have to loadpic();
如果你想使用onclick()
方法在你的HTML元素,那麼你必須寫你的方法是JavaScript使一個AJAX調用PHP。這是一個簡單的方法來做到這一點使用PHP和JavaScript。爲此,請參閱javascript和ajax與PHP。
但是,如果你不想使用JavaScript,那麼這裏是一個簡單的方法和非常簡單的代碼。
<?php
if(isset($_GET['myMethod'])){
myMethod($_GET['id']);
}
function myMethod($id){
echo $id."<br>";
}
?>
<?php
$myId = 4;
?>
<a href="index.php?id=<?php echo $myId ?>&myMethod" >MyLink</a>
注:將此代碼複製並粘貼到一個名爲index.php
因爲通知的超鏈接標籤及其屬性href="index.php"
。
另外請注意,您不能從HTML標記中使用js如onclick()
直接調用php方法。你應該使用AJAX或其他東西。但使用上述演示代碼,您可以輕鬆地使用超鏈接標記調用myMethod()
這是一種PHP方法。
你的情況:
<?php
if(isset($_GET['call_loadpic'])){
loadpic($_GET['id']);
}
function loadpic($id){
echo "My loadpic method has been called! and the id is".$id."<br />";
}
?>
<!-- your other codes -->
<?php
$id = 4;
?>
<a href="this-same-file-name.php?id=<?php echo $id ?>&call_loadpic" >MyLink</a>
這是因爲你的PHP函數是在同一個頁面,你要調用使用相同的文件和超鏈接在同一個文件的功能。 (根據您的問題)
遠程過程調用(RPC)? https://en.wikipedia.org/wiki/Remote_procedure_call – xFighter