以下代码是否有效?

时间:2011-08-17 19:49:58

标签: php javascript jquery mysql html

让我先解释一下代码:

首先用户输入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错误。

我的代码中有语法错误吗?

如果你有蚂蚁问题,请告诉我。

3 个答案:

答案 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的

希望这有帮助