我想调用PHP函数在同一页面上点击超链接(带有<a>
标签的文本)时传递参数,即href='#' onclick='loadpic($id)
。
其中$id
是要传递给PHP函数的变量。
答案 0 :(得分:0)
你可以轻松地通过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文件中回显的值。
答案 1 :(得分:0)
如果你想在你的HTML元素中使用onclick()
方法,那么你必须编写你的方法是javascript并对PHP进行AJAX调用。这是使用php和javascript执行此操作的一种简单方法。为此,请参阅PHP的javascript和ajax。
但是如果你不想使用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标记中的onclick()
等js直接调用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函数位于同一页面中,并且您希望在同一文件中使用相同的文件和超链接调用该函数。 (根据您的问题)
答案 2 :(得分:-1)
你仍然需要让javascript处理异常,因为php没有onclick。
onClick=\"loadpic("'.$id.'");"\
//this will only send a php variable javascript will still have to loadpic();