php中button点击事件,PHP相应button中的onclick事件

本文介绍了如何在PHP中处理HTML button的onclick事件,通过Ajax实现客户端与服务器端的交互。文中给出了两种不同的实现方式,分别是使用jQuery的post方法和创建XMLHttpRequest对象。在server.php中定义了根据POST参数执行不同函数的逻辑,而在index.php中绑定了点击事件并发送Ajax请求,当服务器响应时弹出提示信息。

5268f80b9b1e01f982625ef6fac83ca1.png

PHP是服务器端代码 ,html是客户端代码,实现button的onclick事件,就是客户端调用服务器端函数,因此就得向服务器提交请求。

有一种简单粗暴的方式,就是button是a标签时,可以直接在href里面写上要执行的php页面(或者通过给button绑定window.location通过JS跳转到到PHP)。这种做法就得为每一个button设计一个PHP代码。

而我的做法是:事件+ajax 给button绑定点击事件,然后执行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";

}

?>

方式一:index.php

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

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

}

按钮1

按钮2

方式二:index.php

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

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

}

}

}

按钮1

按钮2

方式一参考资料:

jQuery ajax - post() 方法:

http://www.w3school.com.cn/jquery/ajax_post.asp

方式二参考资料:

创建 XMLHttpRequest 对象:

http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_create.asp

向服务器发送请求:

http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_send.asp

服务器响应:

http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_response.asp

onreadystatechange 事件:

http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_onreadystatechange.asp

更过相关问题请访问PHP中文网:PHP视频教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值