单击时调用 PHP 函数 <按钮类型 = "submit" >



我在按钮上插入了一个onclick,但不知道我在这里出了什么问题,但似乎每次加载页面时都会触发该函数。

如何仅在单击按钮本身时才调用该函数

<button type="submit" class="btn btn-primary" onclick="<? $query = DB::update('ads')->set(array('sale_agreed' => '999'))->where('id_ad', '=', $msg_thread->ad->id_ad)->execute(); ?>"><?=_e('ACCEPT This Offer')?></button>  

对此有什么看法吗?谢谢 ;-(

你可以使用 jQuery Ajax 来执行此操作。 添加一个带有一些 id 的按钮。

<button id="click-button"></button>

在脚本标记内。

$(document).read(function(){
$("#click-button").click(function(){
$.ajax({
url: "remote-file.php",
method:"POST",
data:"token=buttonclick",
success: function(result){
if(result != "fail"){
//Perform actions with the results...
}
}});
});
});

在你PHPremote-file.php

<?php
if(isSet($_POST['token']) && $_POST['token'] == 'buttonclick'){
$result = myFunction();
echo $result;
}else{
echo "fail";
}
function myFunction(){
// Perform your DB actions...
return true; //Return your data
}
?>

你不能从客户端使用 php 函数。属性"onclick"触发的是javascript功能,而不是php功能。 为了使用 onclick 执行 php 函数,您必须向服务器发出 Ajax 请求。

$('.button').click(function() {
$.ajax({
method: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
})
.success(function( msg ) {
alert( "Data Saved: " + msg );
});
});

在 "url" 变量中,您必须将 url 放入 php 脚本,数据对象包含要发送到脚本的所有 PHP $_REQUEST 参数。脚本完成后,成功函数将执行。

按钮单击是客户端,而 PHP 是服务器端,但您可以使用AJAX来实现这一点。

$('.button').click(function() {
$.ajax({
type: "POST",
url: "some.php",
data: { name: "John" }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
});

在您的 PHP 文件中:

<?php
function abc($name){
//your code here
}
?>

不能将 php 函数添加到客户端按钮单击。

你应该让你的PHP检查页面是否已提交,然后运行你的函数

最新更新