dongliangkeng1056 2012-03-27 05:51
浏览 41
已采纳

ajax jquery php:w3school示例jquery ajax帖子没有显示建议

I tried the following code from w3schools. When I enter letters in a input txt box, suggestions should get displayed accordingly. However, nothing is getting displayed as suggestion. I'm not able to get the txt value with serialize. In gethint.php, since it is a post request, i changed the original $q=$_GET["q"]; to $q=$_POST["q"]. Can someone tell me on what i'm doing wrong? thank you.

post_example.html

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("input").keyup(function(){
    // txt=$("input").val();
    txt=$("input").serialize();
    $.post("gethint.php",txt,function(result){
      $("span").html(result);
    });
  });
});
</script>
</head>
<body>
<p>Start typing a name in the input field below:</p>
First name:

<input type="text" >
<p>Suggestions: <span></span></p>
</body>
</html>

gethint.php

<?php
 // Fill up array with names
 $a[]="Anna";
 $a[]="Brittany";
 $a[]="Cinderella";
 $a[]="Diana";
 $a[]="Eva";
 $a[]="Fiona";
 $a[]="Gunda";
 $a[]="Hege";
 $a[]="Inga";
 $a[]="Johanna";
 $a[]="Kitty";
 $a[]="Linda";
 $a[]="Nina";
 $a[]="Ophelia";
 $a[]="Petunia";
 $a[]="Amanda";
 $a[]="Raquel";
 $a[]="Cindy";
 $a[]="Doris";
 $a[]="Eve";
 $a[]="Evita";
 $a[]="Sunniva";
 $a[]="Tove";
 $a[]="Unni";
 $a[]="Violet";
 $a[]="Liza";
 $a[]="Elizabeth";
 $a[]="Ellen";
 $a[]="Wenche";
 $a[]="Vicky";

 //get the q parameter from URL
 $q=$_POST["q"];

 //lookup all hints from array if length of q>0
 if (strlen($q) > 0)
   {
   $hint="";
   for($i=0; $i<count($a); $i++)
     {
     if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q))))
       {
       if ($hint=="")
         {
         $hint=$a[$i];
         }
       else
         {
         $hint=$hint." , ".$a[$i];
         }
       }
     }
   }

 // Set output to "no suggestion" if no hint were found
 // or to the correct values
 if ($hint == "")
   {
   $response="no suggestion";
   }
 else
   {
   $response=$hint;
   }

 //output the response
 echo $response;
 ?>
  • 写回答

2条回答 默认 最新

  • doulang5323 2012-03-27 05:59
    关注

    i think you are missed, the q in your line

    $.post("gethint.php",txt,function(result){
    

    should be

    $.post("gethint.php", {q: txt},function(result){
    

    or if you are using serialize then use the name of the input box like

    <input type="text" name="q" >
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 STM32无法向设备写入固件
  • ¥15 使用ESP8266连接阿里云出现问题
  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并