1、 try request=new XMLHttpRequest(); catch(trymicrosoft) request=new ActiveXObject(Msxml2.XMLHTTP); catch(othermicrosoft)Microsoft.XMLHTTP catch(failed) request=false; if(!request) alert(err Happend! return null; return request;/这个函数就是用户的动作所有触发的函数,如下面的onblur()时,就会调用该函数/经过的步骤如下:/1.从HTML页面得到你需要的数据,可以采有d
2、ocument.getElementById()方法。/2.建立需要的URL,该URL就和在FORM里面的method为get时并采用submit提交在地址栏里面到的一样/3.打开与服务器的连接,这里面有三个必要的参数,虽然文档规定只有两个,但是我个人觉得最好用三个,/ 第一个可以是GET,POST或者是POST,但常用的就是前面的两个,并且最好都用大写,因为有些浏览器如FireFox可能会报错,/ 第二个就是打报的URL,这肯定你是必须的。/ 第三个就是下面的看到的true,这里可以是false。true表示同步处理,你提交后可以做其它的事情,/ 这就是AJAX里面的A,即asynchron
3、ous;如是false,那就得等到服务器的返回才能够做其它的事情。/4.等到服务器完成,并且确定返回执行了正确执行的提示,我们就可以做下面我们想做的事情。这些后面的事情就必须通过/ Javascript去完成了,因为XMLHttpRequest的唯一用途就是发送请求及接收服务器的响应结果。/5.上面都完成了后,就可以采用send()方法向服务器发送你需要发送的信息了,它的参数可以是任何类型,发送的数据格式必须为/ 这样的格式:name=value&anothername=othervalue&so=on,如果你想传送数据,你必须更改MIME类型:/ httpRequest.setRequest
4、Header(Content-type,application/x-www-form-urnlencoded/ 否则服务器将会丢弃发送的数据。function getBackInfo() var username=document.getElementById(username).value; var url=checkUser.jsp?username=+username; request.open(GET,url,true /下面相当于是一个隐性的循环,在函数中规定只有都接收完毕数据后才做处理 /onreadystatechange有5个值: / 0:未初始化 / 1:初始化 / 2:发送
5、数据 / 3:接收数据中 / 4:数据接收完毕 /另外还要注意就是在注册回调函数onreadystatechange时,后面的函数不能够带参数 /如下disResult是一个函数,不能够带参。 reqeust.onreadystatechange=disResult;/隐性的循环 request.send(null);function disResult() /1.一定要确定readystate=4的完成状态才做下面的事,否则会在建立连接即readystate=1的时候就开始, / 然后会在readystate=2,readystate=3,readystate=4的时候都会执行,不信你可以a
6、lert()一个 / 提示信息试试。 /2.服务器通知完成了,并且还要保证是正确完成的,得到的是我们需要的结果才能够继续,这里常用响应码有: / 200:成功执行 / 401:未授权 / 403:禁止 / 404:没有找到文件 if(request.readystate=4) if(request.status=200) /一切都OK了,那就该用Javascript去执行你想要的动作了。 document.getElementById(disCheckResult).value=request.responseText; alert(done elseSomething Wrong has H
7、append!/script/headbodyform trtdinput type=text id= onblur=getBackInfo();/tddd id=这里用于在执行后显示结果的地方/tr/table/form/body/html 第二个用于验证的JSP页面:checkUser.jsp!DOCTYPE HTML PUBLIC -/W3C/DTD HTML 4.01 Transitional/ENhttp:/www.w3.org/TR/html4/loose.dtd% page contentType=text/html;charset=GBK% page import=projec
8、t1.DBMS_Connmeta http-equiv=Content-Type content= charset=GBK/checkUser/这种方式是通过显示条件判定来决定innerHTML的显示内容/这里显示的内容是原来不存在的。这个方法只支持微软的浏览器function tClick(id) var str= if(id=1) str=a href=# onclick=t(2)- str+=br 1、你好2、欢迎光临a href=# onclick=t(1)- window.testClick.innerHTML=str;/这种方式通过条件确定,是否把已经存在的东西显示出来。
9、FireFox可以支持该方法,为了程序的移植性,最好选用这一种方式。function hello(obj,idStr) var d=document.getElementById(idStr); if(d.style.display=none) d.style.display=block obj.innerHTML=回去出来td id=testClicka href=# onclick=tClick(1)a href=# onclick=hello(this,helloddd)出来 你好通过改变innerHTML的内容,动态增加选择项我们遇到过这样的情况,有些邮箱中有让我增加附件的时候,想增加
10、多少点击增加就可以了,可是却不知道怎么实习的,我看了一下,其实就是运用了一个innerHTML而已,下面我做了一个实例,这是个人的习惯,就是一给自己一个好的记忆存储,也方便需要查找资料的朋友,下面就是一个简单的例子:根据JAVASCRIPT设置innerHTML/这个函数是根据用户设置的数字去重新生成innerHTMLfunction setid()window.form1.upcount.value) window.form1.upcount.value=1; for(i=1;i str=getStrValue(); /alert(str); window.upid.innerHTML=st
11、r+/增加一个function setSetAddOne() var str; var id=eval(window.form1.upcount.value); id+=1; window.form1.upcount.value=id; str=window.upid.innerHTML; str+=addOne(id); window.upid.innerHTML=str;/取得最终生成的innerHTMLfunction getStrValue() /alert(window.form1.upcount.value); str+=addOne(i); return str;/返回增加一项的
12、字符,参数是当前是每几个function addOne(i)请选择操作项:select name=selectoption value=1中国人打死日本人option value=2中国人踢死日本人中国人玩死日本人body bgcolor=#FFFFFF text=#000000form name=form1tr align=left valign=middle bgcolor=#eeeeeetd bgcolor= height=92li 设置个数input type=text name=upcount value=1buttonButton onclick=setid(); 设定 ButtonAddsetSetAddOne(); 增加 /licentertd align= id=upid122 请选择操作项:select name=select1/o
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2