我在按钮上插入了一个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检查页面是否已提交,然后运行你的函数