javascript setTimeout()传递函数参数(包括传递对象参数)


Posted in Javascript onApril 07, 2010

于是,上网查找了一下,用了另一种写法setTimeout("fun("+参数+")", 1000),还是不行,但是以上写法在传递form表单的textarea是可以的,比如hml是这样:

<body> 
<div class="main"> 
<div id="showpane" class="showpane"> </div> 
<div class="textarea"> 
<form method="post" action="" name="sform"> 
<textarea name="txtara"></textarea> 
<div> 
<input type="submit" name="subt" value="send" onclick="doAjax(sform.txtara.value);return false;"/> 
</div> 
</form> 
</div> 
</div> 
</body>

在js里边我可以这样子写:
setTimeout("doAjax(document.sform.txtara.value )", 1000);
但是一旦要传递其他什么参数或者是对象参数,按照网上提供的方法就是要重写这个函数了。
经过研究和实践,我自己改进了方法,大家可以参考借鉴一下,我只是依据我的个人需要,其他情况我也不能保证,请多多指教!
<body> 
<div class="main"> 
<div id="showpane" class="showpane"> 
</div> 
<div class="textarea"> 
<form method="post" action="" name="sform"> 
<textarea name="txtara"></textarea> 
<div> 
<input type="submit" name="subt" value="send" onclick="doAjax(sform.txtara.value, this);return false;"/> 
</div> 
</form> 
</div> 
</div> 
</body>

JavaScript:
function initAjax() { 
var httprequest=null; 
try { 
httprequest=new ActiveXObject("Msxml2.XMLHTTP"); 
} 
catch (e) { 
try { 
httprequest=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
catch (e) { 
try { 
httprequest=new XMLHttpRequest(); 
} 
catch (e) { 
httprequest=null; 
} 
} 
} 
return httprequest; 
} 
function doAjax( msg, obj ) { 
var obj=obj; //主要是这一行 
alert( obj.value); 
var he="he="+msg; 
var ajaxrequest=initAjax(); 
ajaxrequest.open("POST", "abc.jsp", true); 
ajaxrequest.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); 
ajaxrequest.send(he); 
ajaxrequest.onreadystatechange=function() { 
if (ajaxrequest.readyState==4) { 
if (ajaxrequest.status==200) { 
document.getElementById("showpane").innerHTML=ajaxrequest.responseText; 
} 
else { 
doAjax( msg ); 
} 
} 
} 
setTimeout("doAjax(document.sform.txtara.value,document.all["+obj.sourceIndex+"])", 100);//还有这一行 
}

就这样,我解决了对象参数传递的问题,最后想说一句,能有更好的解决方法请作评论提出来,本人乐意与志同道合者学习!
Javascript 相关文章推荐
JavaScript实现的多种鼠标拖放效果
Nov 03 Javascript
使用jQuery实现Web页面换肤功能的要点解析
May 12 Javascript
AngularJS  双向数据绑定详解简单实例
Oct 20 Javascript
Ajax的概述与实现过程
Nov 18 Javascript
js基于myFocus实现轮播图效果
Feb 14 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
Mar 02 Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
Sep 19 Javascript
使用pm2部署node生产环境的方法步骤
Mar 09 Javascript
解决layer弹出层msg的文字不显示的问题
Sep 11 Javascript
jQuery带控制按钮轮播图插件
Jul 31 jQuery
vue设置默认首页的操作
Aug 12 Javascript
JavaScript Html实现移动端红包雨功能页面
Jan 10 Javascript
javascript在事件监听方面的兼容性小结
Apr 07 #Javascript
javascript 程序库的比较(一)之DOM功能
Apr 07 #Javascript
JS 文件大小判断的实现代码
Apr 07 #Javascript
基于jquery的一个简单的脚本验证插件
Apr 05 #Javascript
js获取单元格自定义属性值的代码(IE/Firefox)
Apr 05 #Javascript
offsetParent 算法分析
Apr 05 #Javascript
javascript encodeURI和encodeURIComponent的比较
Apr 03 #Javascript
You might like
PHP中用hash实现的数组
2011/07/17 PHP
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
PHP数组传递是值传递而非引用传递概念纠正
2013/01/31 PHP
深入PHP5中的魔术方法详解
2013/06/17 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
非常实用的php验证码类
2016/05/15 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
2018/04/04 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
JS中==与===操作符的比较
2009/03/21 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
Js实现简单的小球运动特效
2016/02/18 Javascript
全面详细的jQuery常见开发技巧手册
2016/02/21 Javascript
一起学写js Calender日历控件
2016/04/14 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
2016/05/23 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
bootstrap如何让dropdown menu按钮式下拉框长度一致
2017/04/10 Javascript
关于webpack代码拆分的解析
2017/07/20 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
用python标准库difflib比较两份文件的异同详解
2018/11/16 Python
Python 抓取微信公众号账号信息的方法
2019/06/14 Python
python GUI图形化编程wxpython的使用
2019/07/19 Python
Django 创建新App及其常用命令的实现方法
2019/08/04 Python
Python中私有属性的定义方式
2020/03/05 Python
Python 如何批量更新已安装的库
2020/05/26 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
python上selenium的弹框操作实现
2020/07/13 Python
python在linux环境下安装skimage的示例代码
2020/10/14 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
2012/12/13 HTML / CSS
莫斯科购买书籍网站:Book24
2020/01/12 全球购物
斯洛伐克电子产品购物网站:DATART
2020/04/05 全球购物
《满井游记》教学反思
2014/02/26 职场文书
高考升学宴主持词
2019/06/21 职场文书
Python代码实现双链表
2022/05/25 Python
Vue深入理解插槽slot的使用
2022/08/05 Vue.js