2010-03-21 193 views
2

我是新來的PHP編程,我想知道這是有可能處理PHP事件,我們在ASP.NETPHP點擊事件處理程序

我的意思是我有一個IMG做,我想在這個img的點擊事件上執行一些任務。

我知道該怎麼做,在ASP.NET但請幫我在PHP

感謝, GURU

+0

通過 「ASP.net」 你的意思的WebForms? – VolkerK

回答

9

PHP本身不處理客戶端事件的背景。而PHP範例與ASP.NET在客戶端和服務器端腳本在同一頁代碼中綁定在一起略有不同。在客戶端,使用javascript處理onClick事件,並在事件處理程序代碼中發出AJAX調用到您指定的PHP頁面以發回響應。

<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'])); 
?> 
+0

非常感謝您關於ASP.NET和PHP之間澄清的信息,但是您能否給我一個關於AJAX調用PHP文件(myfile.php)上的函數(函數名是myfunction)的簡單示例。 – necixy

+0

精彩回答, 再次感謝您的合作。 – necixy

+0

你可能想投「上」而不是「下」:) – alemjerus

相關問題