在按钮单击时运行 php 函数
Posted
技术标签:
【中文标题】在按钮单击时运行 php 函数【英文标题】:Run php function on button click 【发布时间】:2015-12-25 18:37:24 【问题描述】:我想在单击按钮时运行 php 函数。例如:
<input type="button" name="test" id="test" value="RUN" onclick="<?php echo testfun(); ?>" /><br/>
<?php
function testfun()
echo "Your test function on button click is working";
?>
我的问题是,当我这样做时,我没有得到我正在寻找的预期输出。请给我最好的解决方案,以便,无论是简单的button
还是 submit
。
【问题讨论】:
你不能这样做,php是一种脚本语言。如果你想点击事件尝试 javascript 【参考方案1】:您可以使用isset()
。
<form method="post">
<input type="submit" name="test" id="test" value="RUN" />
</form>
<?php
function testfun()
echo "Your test function on button click is working";
if(isset($_POST('submit')))
testfun();
?>
【讨论】:
【参考方案2】:没问题您可以轻松使用onClick()
功能,而无需使用任何其他语言干扰,
<?php
echo '<br><Button onclick="document.getElementById(';?>'modal-wrapper2'<?php echo ').style.display=';?>'block'<?php echo '" name="comment" style="width:100px; color: white;background-color: black;border-radius: 10px; padding: 4px;">Show</button>';
?>
【讨论】:
您好,按钮显示...但我没有得到应用程序,所以问题的解决方案。如果您添加它,谢谢。【参考方案3】:<a href="home.php?click=1" class="btn">Click me</a>
<?php
if($_GET['click'])
doSomething();
?>
但是最好用JS和ajax来调用函数!
【讨论】:
【参考方案4】:我尝试了威廉的代码,谢谢兄弟。
但它不是一个简单的按钮,我必须使用 method="post" 添加表单。我也必须写提交而不是按钮。
下面是我的代码..
<form method="post">
<input type="submit" name="test" id="test" value="RUN" /><br/>
</form>
<?php
function testfun()
echo "Your test function on button click is working";
if(array_key_exists('test',$_POST))
testfun();
?>
【讨论】:
【参考方案5】:您正在尝试调用 javascript 函数。如果你想调用一个 PHP 函数,你必须使用例如一个表单:
<form action="action_page.php">
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form>
(原文来自:http://www.w3schools.com/html/html_forms.asp)
所以如果你想做一个异步调用,你可以使用“Ajax”——是的,这就是 Javascript 方式。但我认为,我的代码示例对于这次来说已经足够了 :)
【讨论】:
【参考方案6】:这样做:
<input type="button" name="test" id="test" value="RUN" /><br/>
<?php
function testfun()
echo "Your test function on button click is working";
if(array_key_exists('test',$_POST))
testfun();
?>
【讨论】:
如果不被具有method ="POST"
属性的form
标签包裹,它会起作用吗?以上是关于在按钮单击时运行 php 函数的主要内容,如果未能解决你的问题,请参考以下文章