2011-11-16 22 views
-1

如何使用javascript检查用户是否单击我的文本输入class = "foo",然后如果用户已这样做,请执行PHP文件。如何识别用户是否点击了文本输入并在该事件中运行PHP

+0

你试过了什么?你有什么麻烦?你想将用户重定向到PHP页面,还是只是在用户不知道的情况下执行它? –

+0

@ Xeon06我怎么可能试图做到这一点,不知道如何? –

+0

实际上,当人们尝试学习而不是从别人获取代码时,我们更喜欢这种方式。如果您不知道JavaScript,那么在提出与之有关的问题之前,您应该先学习它。如果你这样做,你应该对如何开始有一个简单的想法。 –

回答

6

要做到这一点,最简单的方法就是使用jQuery。

首先,包括jQuery的在您的<head></head>部分:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script> 

然后添加以下的Javascript:

$(document).ready(function() { 
    $('input.foo').blur(function(){ 
    $.ajax('myScript.php'); 
    }); 
}); 

,这将建立input(谁的类是foo)使用AJAX来运行myScript.php每当有人点击它,这在发展中称为模糊

+4

需要做两点:1)这是在jQuery,而不是香草JS(很明显,但应该告诉OP)和2)你完全不给予任何解释。请纠正。 – Bojangles

+0

@JamWaffles他的防守,OP没有做任何真正的努力自己... –

+0

香草JS:我到'document.getElementsByT ...'然后我意识到我必须写一个小DOM/AJAX框架,停止。 – Esailija

1

这里以普通的javascript为例。

<!DOCTYPE html> 
<html> 
<body> 
<script type="text/javascript"> 
function runAjax(){ 
    if (str==""){ 
     document.getElementById("txtHint").innerHTML=""; 
     return; 
    } 
    if (window.XMLHttpRequest){  // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
    } else {      // code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange=function(){ 
     if (xmlhttp.readyState==4 && xmlhttp.status==200){ 
      document.getElementById("txtHint").innerHTML=xmlhttp.responseText; 
     } 
    } 
    xmlhttp.open("GET","fooscript.php",true); 
    xmlhttp.send(); 
} 
</script> 

<form> 
    <input name="vorname" type="text" onblur="runAjax()"> 
</form> 

</body> 
</html> 

也许这是一个好主意,使用JavaScript框架,如jQuery。我从here中盗取了这个例子。

相关问题