2017-07-19 42 views
-1

我插入了onclick到我的按鈕,但不知道我要去哪裏錯了,但似乎每次頁面加載時都會觸發該函數。點擊<按鈕類型=「提交」時調用PHP函數>

我怎麼能說按鈕本身

<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> 

任何承擔這僅,當點擊功能?謝謝;-)

+0

不能調用PHP函數,像你這樣做。你應該獲得有關jquery/javascript –

+0

的基本知識使用不能從這種方式從客戶端調用服務器端函數,你應該使用AJAX和JS –

+1

只是提交你的表單並在後端執行你的數據庫操作 –

回答

0

你可以利用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... 
      } 
     }}); 
    }); 
}); 

在你PHP remote-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 
} 
?> 
+0

第一次運行良好。非常感謝您的讚賞;-) –

-2

你不能將PHP函數添加到客戶端按鈕點擊。

你應該讓你的PHP來檢查,如果該頁面已被提交,然後運行你的函數

+1

爲什麼JS?提交表單提出請求... – Teemu

+0

非常好的點更新答案。 –

0

不能使用PHP函數從客戶端。屬性「onclick」會觸發一個javascript funciont,而不是一個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」變量,你必須把網址給你的PHP腳本,數據對象包含所有的PHP $ _REQUEST參數被髮送到腳本。成功函數在腳本完成後執行。

0

按鈕點擊是客戶端,而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 
} 
?> 
相關問題