ホームページ  >  記事  >  バックエンド開発  >  PHP の対応するボタンの onclick イベント

PHP の対応するボタンの onclick イベント

王林
王林転載
2019-08-22 14:33:524148ブラウズ

PHP はサーバー側コード、HTML はクライアント側コードです。ボタンの onclick イベントを実装するには、クライアントはサーバー側関数を呼び出すため、サーバーにリクエストを送信する必要があります。

単純で大雑把な方法があります。つまり、ボタンが a タグの場合、href に実行する PHP ページを直接記述する (または window.location をバインドして JS 経由で PHP にジャンプする) ことができます。ボタンまで)。このアプローチでは、ボタンごとに PHP コードを設計する必要があります。

私のアプローチは、イベント ajax を使用してクリック イベントをボタンにバインドし、ajax を実行することです。

#1、server.php

<?php 
	if (isset($_POST[&#39;action&#39;]))
	{
		switch($_POST[&#39;action&#39;])
		{
			case "btn1":btn1();break;
			case "btn2":btn2();break;
			default:break;
		}
	}
	
	function btn1()
	{
		echo "hello 按钮1";
	}
	function btn2()
	{
		echo "hello 按钮2";
	}
 
?>

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

方法 2: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(&#39;Content-type&#39;, &#39;application/x-www-form-urlencoded&#39;);
			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>

##方法 1 の参照:

#jQuery ajax - post() メソッド:

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

方法 2 リファレンス:

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 中国語 Web サイトをご覧ください:

PHP ビデオ チュートリアル

以上がPHP の対応するボタンの onclick イベントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。