让我先解释一下代码:
首先用户输入id,jquery检查数据库中的id ..如果id存在,它将获取结果并显示在剩余的表单框中,如果没有,则显示没有带有某些样式的id。
这是代码:
Javascript和html
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#button1").click(function()
{
//remove all the class add the messagebox classes and start fading
$("#msgbox").removeClass().addClass('messagebox').text('Validating....').fadeIn(1000);
//checks if the id exists
$.post("script_3.php",{ id:$('#id').val(),rand:Math.random() } ,function(data)
{
if(data=='yes')//correct id detail
{
$$("#msgbox").fadeTo(200,0.1,function()
{
$(this).html('Logging in.....').addClass('messageboxok').fadeTo(900,1,
function()
{
$.post('script_1.php', { id: $('input[name="id"]', '#myForm').val()
},
function(json) {
$("input[name='title']").val(json.title);
$("input[name='name']").val(json.rno);
}, "json");
});
});
}
else
{
$("#msgbox").fadeTo(200,0.1,function()
{
//add message and change the class of the box and start fading
$(this).html('NO ID...').addClass('messageboxerror').fadeTo(900,1);
});
}
});
return false; //not to post the form physically
});
Html方面:
<style type="text/css">
body {
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:11px;
}
.top {
margin-bottom: 15px;
}
.buttondiv {
margin-top: 10px;
}
.messagebox{
position:absolute;
width:100px;
margin-left:30px;
border:1px solid #c93;
background:#ffc;
padding:3px;
}
.messageboxok{
position:absolute;
width:auto;
margin-left:30px;
border:1px solid #349534;
background:#C9FFCA;
padding:3px;
font-weight:bold;
color:#008000;
}
.messageboxerror{
position:absolute;
width:auto;
margin-left:30px;
border:1px solid #CC0000;
background:#F7CBCA;
padding:3px;
font-weight:bold;
color:#CC0000;
}
</style>
<body>
<form id="myForm" method="post">
id: <input type="text" name="id"/>
<div id="hidden" style="display: none;">
<p>Title:<input type="text" name="title"/></p>
<p>Name:<input type="text" name="rno"/>
</div>
<br/>
<input type="button" id="button1" value ="Get Info"
onclick="document.getElementById('hidden').style.display = '';"/>
<span id="msgbox" style="display:none"></span>
</form>
<div id="age"></div>
</body>
script_3.php
<?php
//connect to DB removed
$id= mysql_real_escape_string($_POST['id']);
$sql="SELECT id FROM parentid WHERE id='".$id."'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
if(mysql_num_rows($result)>0)
{
echo "yes";
//now set the session from here if needed
$_SESSION['u_id']=$id;
}
else
echo "no"; //Invalid Login
?>
我遇到的问题是它不会发送到script_1.php部分,即使我输入了正确的ID,也始终没有显示id错误。
我的代码中有语法错误吗?
如果你有蚂蚁问题,请告诉我。答案 0 :(得分:1)
我认为你的问题可能是
$('#id').val()
id='id'
答案 1 :(得分:0)
您可以在firefox浏览器中打开firebug或检查google chrome中的元素以查看是否存在JavaScript错误,或者通过调用 script_3 来查看服务器响应,还可以使用'var_dump' 。或者print_r用于查看JavaScript中的参数是否正确到达服务器或者
答案 2 :(得分:0)
1 /
从我在这一行上看到的内容:
&LT; p为H.名称:其中input type =“text”name =“rno”/&gt;
取自HTML方面,您尚未关闭<p>
标记以关闭它</p>
。
2 /
在script_3上
你忘记了括号。需要:否则回应“否”;
其他{
echo“no”;}
3 /
on script_1
你有:?PHP的
需要:
&LT; ?PHP的
希望这有帮助