- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AjaxHack之hack12不刷新浏览器的情况下向服务器提交text或textarea的值.
Ajax Hack 之hack 12不刷新浏览器的情况下向服务器提交text或textarea的值本节主要讲的是:将text或textarea的值平滑地传递给服务器。
当用户输入text或textarea的值以后,Ajax能将这些值自动的发给服务器。程序等待text的onblur事件,然后使用request对象向服务器发送数据。在常用的情况是,用户点击一个按钮,然后将整个form作为一个大的数据包向服务器发送。服务器相应也与此类似。例如,在线测试或者教程能在用户输入完成以后很快显示结果,而不需要用户点击按钮刷新页面得到结果。
形如form的某些元素,如text等失去键盘焦点的时候将激发onblur事件,通常是用户点击tab键或者点击其他区域。也可以使用onkeypress, onkeydown, 或 onkeyup 等来处理用户和text部件的交互。
接下来向服务器发送数据的步骤:1. 用户将焦点移入text。2. 在text中输入信息。3. 用户点击tab键或点其他区域。
用户在text里输入一些信息,然后程序自动将信息发给服务器。在这个过程中,最好加入信息提示,如alert一个对话框,在发送过程中最好能让用户知道程序在运作,如有一个进度条。
下面是页面的html代码:
“/TR/2000/REC-xhtml1DTD/xhtml1-strict.dtd”
Get stats from textareas and textfields using Ajax
窗体顶端
javascript:void%200
Enter a few words for submitting to our server: Enter a phrase for submitting to ourserver: 用户不必点击任何按钮来发送信息,每个text都能控制自己的行动。
当用户按tab键,或者点了text部件以外的区域时,onblur事件将激发处理程序。下面的代码将显示事件处理者是如何进行工作的。
本节使用的js源代码在文件hacks_2_1.js中。这个文件中有程序运行所需的所有代码。代码中包括了发送请求和处理相应值(handleResponse( )函数)的所有代码。在下一节中,会讲述如何将服务器相应插入到text部件中的相关技术,但这丝毫不影响你理解handleResponse( )函数,下面是js代码:
var formObj = null;var formObjTyp = “”;var request=null;
//input field’s event handlerswindow.onload=function( ){var txtA = document.getElementById(“tarea”;if(txtA != null){txtA.onblur=function( ){if (this.value) { getInfo(this);}}; }
var tfd = document.getElementById(tfield);if(tfd != null){tfd.onblur=function( ){if (this.value) { getInfo(this);}}; }}
function getInfo(obj){if (obj == null ) { return; }formObj=obj;formObjTyp =obj.tagName;if(formObjTyp input || formObjTyp INPUT){formObjTyp = formObjTyp formObj.type;}formObjTyp = formObjTyp.toLowerCase( );var url = “/s/webforms?objtype=”+encodeURIComponent(formObjTyp)+“val=”+ encodeURIComponent(obj.value);httpRequest(“GET”,url,true);}
//event handler for XMLHttpRequestfunction handleResponse( ){try{if(request.readyState == 4){if(request.status == 200){var resp = request.responseText;var func = new Function(“return ”+resp);var
文档评论(0)