我的目的是做一个密码找回的小程序,就是当用户输入用户名,文本框失去焦点时根据数据库查询用户名并找到相应的密码提示问题。问题是如何将数据库中的值赋予html一个标签的属性。具体代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>找回密码</title>
<script src="findpassword.js"></script>
</head>
<body>
<form>
<p>你的用户名是:
<input name="username" type="text" onblur="findPassword(this.value)" />
</p>
<p>你的提示问题是:
<div id="txtHint"></div>
</p>
<p>你的答案是:
<input type="text" name="answer" />
</p>
<input name="submit" type="submit" value="找回密码" />
</form>
</body>
</html>
var xmlHttpfunction findPassword(str)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return
}
var url="findpassword.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged ;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText ;
}
}function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}<?php
include 'findpassword.html';
$q=$_GET['q'];
include 'sql.php';
$sql="select * from findpassword where UserName='".$q."'";
$result=mysql_query($sql);
$query = mysql_fetch_array($result);
if($query)
echo $query['FindPasswordQuestion'];?>代码很简单,希望高手能够指导一下,问题出在哪,就是输入用户名,失去焦点后不显示密码提示问题,方便的话可以加qq,谢谢了
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>找回密码</title>
<script src="findpassword.js"></script>
</head>
<body>
<form>
<p>你的用户名是:
<input name="username" type="text" onblur="findPassword(this.value)" />
</p>
<p>你的提示问题是:
<div id="txtHint"></div>
</p>
<p>你的答案是:
<input type="text" name="answer" />
</p>
<input name="submit" type="submit" value="找回密码" />
</form>
</body>
</html>
var xmlHttpfunction findPassword(str)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return
}
var url="findpassword.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged ;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText ;
}
}function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}<?php
include 'findpassword.html';
$q=$_GET['q'];
include 'sql.php';
$sql="select * from findpassword where UserName='".$q."'";
$result=mysql_query($sql);
$query = mysql_fetch_array($result);
if($query)
echo $query['FindPasswordQuestion'];?>代码很简单,希望高手能够指导一下,问题出在哪,就是输入用户名,失去焦点后不显示密码提示问题,方便的话可以加qq,谢谢了
url=url+"?q="+ str;
改成 url=url+"?q="+ encodeURIComponent(str);
<?php
include 'findpassword.html'; //可以去掉
var url="findpassword.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
$.get(url,function(result){
$("#txtHint").html(result);
})
还有,要学会找错误,你可以一步一步来alert,看看在哪个环节上出问题了
2.楼主的DIV标签的默认CSS是什么?比去DIV我习惯用span标签。
用LZ的代码测试通过。自己编了个SQL.PHP
所以我觉得问题不是出现在sql.php就是出现在数据库结构上,LZ的PHP文件include 'findpassword.html'不是会造成无限循环么?findpassword.HTML文件改成PHP类型。 然后include PHP处理文件是个好选择。
要在局域网或者本机网络回路里测试。否则status的值会为0.
一切都成浮云了
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="./jquery.js"></script>
</head>
<body>
<form>
用户名:<input type="text" name="username" onblur="getQuestion(this.value)"><br>
提示问题:<div id="question"></div><br>
答案:<input type="text" name="answer"><br>
<input type="submit" name="sub" value="找回密码">
</form>
</body>
</html>
<script type="text/javascript" language="javascript">
function getQuestion(username){
var quobj = document.getElementById("question");
$.post('user.php',{user:username},
function(data){
quobj.innerHTML= data;
}
)
}
</script>===================================================================================//user.php
<?php
header("Content_Type:text/html;charset=utf-8");
$link = mysql_connect("localhost","root","123456") or die("链接失败");
$connect = mysql_select_db("sql_test", $link);
mysql_query('set names utf8');
$user = trim($_POST['user']);
$sql = "SELECT question FROM tb_user WHERE name = '{$user}'";$rs= mysql_query($sql);if($info = mysql_fetch_assoc($rs)){ echo "<font color='red'>{$info['question']}</font>";
}else{
echo "失败";
}
?>