- 浏览: 1466976 次
- 性别:
- 来自: 青岛人在北京
文章分类
最新评论
-
yhxf_ie:
azheng270 写道 永远是0知道答案了, inser ...
使用MySQL的LAST_INSERT_ID -
yhxf_ie:
insert了还是0... 可能还要设置些什么?
使用MySQL的LAST_INSERT_ID -
一如年少:
123123
Flex使用ribbit.com的服务给手机发送短信SMS -
pointdew:
poincare 写道您好,请教一个问题,如果我的 swf 文 ...
Flex:使用FlexPaper显示PDF文档 -
pointdew:
swf远程加载问题 : flexpaper无法加载http方式 ...
Flex:使用FlexPaper显示PDF文档
项目里原来有一段ajax的应用,功能很简单,控制几个页面元素,加上一个后台提交,代码如下:
js 代码
- var xRequest;
- function createXMLHttpRequest() {
- var xHttpRequest = false;
- try {
- xHttpRequest = new XMLHttpRequest();
- } catch (trymicrosoft) {
- try {
- xHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
- } catch (othermicrosoft) {
- try {
- xHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (failed) {
- xHttpRequest = false;
- }
- }
- }
- if (!xHttpRequest) {
- alert("Error initializing XMLHttpRequest!");
- }
- return xHttpRequest;
- }
- function editPartnerSite() {
- var img = document.getElementById("partnerSiteImg");
- img.setAttribute("src", "/partneradmin/image/save.gif");
- img.onclick = savePartnerSite;
- var label = document.getElementById("partnerSiteStr");
- var txtInput = document.createElement("input");
- txtInput.id = "partnerSiteInput";
- txtInput.type = "text";
- txtInput.value = label.firstChild.nodeValue;
- var parentNode = label.parentNode;
- parentNode.replaceChild(txtInput, label);
- }
- function savePartnerSite() {
- var txtInput = document.getElementById("partnerSiteInput");
- var newSiteStr = txtInput.value;
- txtInput.disabled = "disabled";
- var img = document.getElementById("partnerSiteImg");
- img.setAttribute("src", "/partneradmin/image/wait.gif");
- img.onclick = "";
- xRequest = createXMLHttpRequest();
- var saveSiteUrl = "/partneradmin/PartnerSet.do?method=savePartnerSite&newsite=" + escape(newSiteStr);
- xRequest.open("GET", saveSiteUrl, true);
- xRequest.onreadystatechange = rebuildPartnerSite;
- xRequest.send(null);
- }
- function rebuildPartnerSite() {
- var request = xRequest;
- if (request.readyState == 4) {
- if (request.status == 200) {
- var result = request.responseText;
- //if (result) {
- var txtInput = document.getElementById("partnerSiteInput");
- var label = document.createElement("label");
- label.id = "partnerSiteStr";
- label.appendChild(document.createTextNode(txtInput.value));
- var parentNode = txtInput.parentNode;
- parentNode.replaceChild(label, txtInput);
- var img = document.getElementById("partnerSiteImg");
- img.setAttribute("src", "/partneradmin/image/edit.gif");
- img.onclick = editPartnerSite;
- //} else {
- //}
- } else if (request.status == 404) {
- alert("Request URL does not exist");
- } else {
- alert("Error: status code is " + request.status);
- }
- }
- }
这几天看了prototype,决定把这段程序改善一下,完成后如下:
js 代码
- window.onload = function(){
- Element.hide('emailInput');
- Element.hide('partnerSiteInput');
- }
- function editPartnerSite() {
- $('partnerSiteInput').value = $('partnerSiteStr').innerHTML;
- Element.hide('partnerSiteStr');
- Element.show('partnerSiteInput');
- var img = $('partnerSiteImg');
- img.src = '/partneradmin/image/save.gif';
- img.onclick = savePartnerSite;
- }
- function savePartnerSite() {
- $('partnerSiteImg').src = '/partneradmin/image/loading.gif';
- var url = "/partneradmin/PartnerSet.do";
- var pars = 'method=savePartnerSite&newsite=' + escape($('partnerSiteInput').value);
- var mailAjax = new Ajax.Request(
- url,
- {
- method: 'get',
- parameters: pars,
- onComplete: rebuildPartnerSite
- }
- );
- }
- function rebuildPartnerSite(originalRequest) {
- $('partnerSiteStr').innerHTML = originalRequest.responseText;
- Element.show('partnerSiteStr');
- Element.hide('partnerSiteInput');
- var emailImg = $('partnerSiteImg');
- emailImg.src = "/partneradmin/image/edit.gif";
- emailImg.onclick = editPartnerSite;
- }
使用prototype后,代码行数缩少了近50%,理解起来也更清晰.还有一个 jQuery 的框架,据说比prototype还牛,最近要跟YUI整合.
相关连接
发表评论
-
Google JavaScript 代码规范
2010-10-23 17:56 3261Google JavaScript Style Guide ... -
22个Web富文本编辑器 Rich-Text Editors
2010-02-04 12:16 37921. TinyMCE http://tinymce.moxie ... -
配置整合DWR3.0和Spring2.5使用annotation注解
2009-06-16 19:42 11340这里使用 DWR3.rc1, Spring2.5 and Sp ... -
js关闭浏览器 (不弹出提示框)
2008-08-11 15:11 6627使用IE7,关闭浏览器时,会弹出一个提示框 解决方法: f ... -
javascript的onbeforeunload事件
2008-06-19 18:01 4970javascript的onbeforeunload 事件 ... -
一个好看的Calendar日历控件
2008-03-07 18:28 5600一个好看的Calendar日历控件 http://sotak. ... -
tablesorter 表格排序控件
2008-03-07 15:35 2435table 排序控件,支持多种数据 http://tables ... -
HTML and Javascript Library site
2008-03-06 15:23 1311http://www.dynamicdrive.com/ h ... -
Tooltip JavaScript Library 控件
2008-03-06 14:47 1642http://www.walterzorn.com/tool ... -
Autosuggest (Autocomplete) 控件 (转)
2008-02-23 22:53 2585一个Ajax的 Autosuggest (Autocomple ... -
Yahoo! Media Player 播放 MP3
2008-01-09 13:54 2209想在web中播放 mp3音乐 ? 使用Yahoo! Media ... -
Menu样式(转)
2007-12-04 14:41 2917这里列出了很多菜单样式 http://www.cssplay. ... -
解决ajax加载的javascript不被执行的问题
2007-11-23 23:38 4116用ajax 加载的页面如果带javascript,在IE中不被 ... -
img标签动态请求图片
2007-11-15 14:33 4611html的img标签是很常见的,一般的应用是 xml 代码 ... -
解决jQuery1.1 Ajax请求时cache的问题
2007-10-27 15:56 10281项目里使用jQuery 1.1.3.1版本,遇到的问题是jQu ... -
FireFox和IE浏览器的调试工具(插件)
2007-10-22 14:22 6551FireFox 插件Firebug http://www.ge ... -
Ajax 弹出窗口插件
2007-10-09 18:02 5991prototype的popup window插件 http: ... -
XMLHttpRequest 如何处理 redirect (转)
2007-09-20 17:42 8987当用XMLHttpRequest (或者其它ajax框架) 请 ... -
使用prototype的Ajax.Updater更新带javascript的html
2007-09-07 22:21 4775prototype的Ajax.Updater可以用来更新一段h ... -
Google的圆角效果(转)
2007-07-21 10:57 1910在以往的一些情况下,圆角是大家比较喜欢也经常使用的一个UI涉及 ...
相关推荐
该项目是一款基于freeRTOS操作系统和STM32F103x微控制器的手机远程控制浴室温度系统设计源码,共包含1087个文件,包括580个C语言源文件、269个头文件、45个汇编源文件、36个数据文件、36个目标文件、35个编译规则文件、28个包含文件、27个文本文件、6个源文件、3个归档文件。此系统通过手机远程实现对浴室温度的有效控制,适用于智能浴室环境管理。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。