我是PHP编程的新手,我想知道可以像处理ASP.NET一样处理PHP事件
我的意思是我有一个img,我想在这个img的click事件上执行一些任务。
我知道如何在ASP.NET中执行此操作,但请在PHP的上下文中帮助我
谢谢, GURU
答案 0 :(得分:10)
PHP本身不处理客户端事件。 PHP范例与ASP.NET略有不同,其中客户端和服务器端脚本在同一代码页中绑定在一起。在客户端,使用javascript来处理onClick事件,并在事件处理程序代码中向您指定的PHP页面发出AJAX调用以发回响应。
<script type="text/javascript">
var http = false;
if(navigator.appName == "Microsoft Internet Explorer") {
http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
http = new XMLHttpRequest();
}
function click() {
http.open("GET", "test.php?name=" + document.getElementById("name").value, true);
http.onreadystatechange=function() {
if(http.readyState == 4) {
document.getElementById('foo').innerHTML = http.responseText;
}
}
http.send(null);
}
</script>
name:<input id="name" type="text">
<p><button onclick="click()">Click me</button></p>
<div id="foo">
Hell
</div>
这是一个test.php代码:
<?php
function validate($name) {
if($name == '') {
return '';
}
if(strlen($name) < 3) {
return "<span id=\"warn\">Username too short</span>\n";
}
switch($name) {
case 'bob':
case 'jim':
case 'joe':
case 'carol':
return "<span id=\"warn\">Username already taken</span>\n";
}
return "<span id=\"notice\">Username ok!</span>\n";
}
echo validate(trim($_GET['name']));
?>