PHP is server-side code, and html is client-side code. To implement the button's onclick event, the client calls the server-side function, so it must submit a request to the server.
There is a simple and crude way, that is, when the button is an a tag, you can directly write the PHP page to be executed in the href (or jump to PHP through JS by binding window.location to the button) . This approach requires designing a PHP code for each button.
My approach is: bind the click event to the button with event ajax, and then execute ajax.
1, server.php
<?php if (isset($_POST['action'])) { switch($_POST['action']) { case "btn1":btn1();break; case "btn2":btn2();break; default:break; } } function btn1() { echo "hello 按钮1"; } function btn2() { echo "hello 按钮2"; } ?>
Method 1: index.php
<html> <head> <style> div {width:600px;margin:200px auto;} .btn { background-color:#44c767; -moz-border-radius:28px; -webkit-border-radius:28px; border-radius:28px; border:1px solid #18ab29; display:inline-block; cursor:pointer; color:#ffffff; font-family:Arial; font-size:17px; padding:16px 31px; text-decoration:none; text-shadow:0px 1px 0px #2f6627; } .btn:hover { background-color:#5cbf2a; } .btn:active { position:relative; top:1px; } #btn2 {float:right;} </style> <script type="text/javascript" language="javascript" src="jquery.js"></script> <script type="text/javascript" language="javascript"> function fun(n) { $.ajax({ url:"server.php", //the page containing php script type: "POST", //request type data:{action: n.value}, success:function(result){ alert(result); } }); } function fun2(n) { var url = "server.php"; var data = { action : n.value }; jQuery.post(url, data, callback); } function callback(data) { alert(data); } </script> </head> <body> <div> <button type="button" class="btn" id="btn1" οnclick="fun(this)" value="btn1">按钮1</button> <button type="button" class="btn" id="btn2" οnclick="fun2(this)" value="btn2">按钮2</button> </div> </body> </html>
Method two: index.php
<html> <head> <style> div {width:600px;margin:200px auto;} .btn { background-color:#44c767; -moz-border-radius:28px; -webkit-border-radius:28px; border-radius:28px; border:1px solid #18ab29; display:inline-block; cursor:pointer; color:#ffffff; font-family:Arial; font-size:17px; padding:16px 31px; text-decoration:none; text-shadow:0px 1px 0px #2f6627; } .btn:hover { background-color:#5cbf2a; } .btn:active { position:relative; top:1px; } #btn2 {float:right;} </style> <script type="text/javascript" language="javascript"> var xmlHttp; function createXMLHttpRequest(){ //检查浏览器是否支持 XMLHttpRequest 对象 if(window.ActiveXObject){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest(); } } function fun(n){ createXMLHttpRequest(); var url="server.php"; xmlHttp.open("POST",url,true); xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xmlHttp.onreadystatechange = callback; xmlHttp.send("action=" + n.value); } function callback(){ if(xmlHttp.readyState == 4){ if(xmlHttp.status == 200){ alert(xmlHttp.responseText); } } } </script> </head> <body> <div> <button type="button" class="btn" id="btn1" οnclick="fun(this)" value="btn1">按钮1</button> <button type="button" class="btn" id="btn2" οnclick="fun(this)" value="btn2">按钮2</button> </div> </body> </html>
Method one reference:
jQuery ajax - post() method:
http://www.w3school.com.cn/jquery/ajax_post.asp
Method 2 Reference:
Create XMLHttpRequest Object:
http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_create.asp
Send request to the server:
http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_send.asp
Server response:
http://www.w3school.com.cn /ajax/ajax_xmlhttprequest_response.asp
onreadystatechange event:
http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_onreadystatechange.asp
For more related questions, please visit the PHP Chinese website: PHP Video Tutorial
The above is the detailed content of onclick event in corresponding button in PHP. For more information, please follow other related articles on the PHP Chinese website!