从容_ 2016-10-22 09:32 采纳率: 50%
浏览 1042

使用ajax技术第一次传过去的值都是空的,求大神指教!

图片说明

 <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>ajax实现自动完成</title>
        <!-- css样式 -->
        <style type="text/css">
            #div{
                margin-left: 225px; 
            }
        </style>

        <script type="text/javascript" src="js/getXhr.js"></script>
        <script type="text/javascript">
            window.onload=function(){
                $('text').onkeydown=function(){
                    //获取xhr
                    var xhr = getXhr();
                    var msg = $('text');
                    xhr.open("GET","/Day11/AjaxServlet6?message="+msg.value,"true");
                    //建立连接,发送数据
                    xhr.onreadystatechange=function(){
                        if(xhr.readyState==4){
                            if(xhr.status==200){
                                //将结果转换成数组
                                var arr = eval("("+xhr.responseText+")");
                                var div = $('div');
                                //将后台返回的结果写到div里面去
                                for(var i=0;i<arr.length;i++){
                                    var child = document.createElement("div");
                                    div.appendChild(child);
                                    child.innerHTML=arr[i].message;
                                }
                            }
                        }
                    }
                    xhr.send(null);
                }
            }

            /*
            * 当失去焦点时,将div里面的值清空掉
            */
            function loseFocus(){
                $('div').innerHTML="";
            }
        </script>
    </head>
    <body>
        使用ajax技术实现自动完成功能<input type="text" id="text" onblur="loseFocus()" /><br />
        <div id="div"></div>
    </body>
</html>
  • 写回答

1条回答 默认 最新

  • Go 旅城通票 2016-10-22 11:54
    关注

    第一次text肯定没值啊。。你要判断有值了才发送ajax请求

                     $('text').onkeydown=function(){
                        //获取xhr
                        var xhr = getXhr();
                        var msg = $('text');
                                            if(msg.value=='')return;////////////////
                        xhr.open("GET","/Day11/AjaxServlet6?message="+msg.value,"true");
    
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog