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 相关文章推荐
国外Lightbox v2.03.3 最新版 下载
Oct 17 Javascript
JavaScript的9个陷阱及评点分析
May 16 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
Jul 31 Javascript
js获取checkbox值的方法
Jan 28 Javascript
深入浅析JavaScript中with语句的理解
May 12 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
Nov 07 Javascript
js实现简单的手风琴效果
Feb 27 Javascript
彻底解决 webpack 打包文件体积过大问题
Jul 07 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
Sep 22 Javascript
写一个Vue Popup组件
Feb 25 Javascript
vue登录页面cookie的使用及页面跳转代码
Jul 10 Javascript
JS实现页面侧边栏效果探究
Jan 08 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 文件状态缓存带来的问题
2008/12/14 PHP
win7计划任务定时执行PHP脚本设置图解
2014/05/09 PHP
php中的mongodb select常用操作代码示例
2014/09/06 PHP
PHP递归实现层级树状展开
2016/04/01 PHP
为Extjs加加速(javascript加速)
2010/08/19 Javascript
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
2010/11/05 Javascript
Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
2013/08/15 Javascript
JavaScript中读取和保存文件实例
2014/05/08 Javascript
Javascript中call与apply的学习笔记
2014/09/22 Javascript
Three.js学习之网格
2016/08/10 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/09/29 Javascript
jQuery为某个div加入行样式
2017/06/09 jQuery
nodejs 日志模块winston的使用方法
2018/05/02 NodeJs
vue请求本地自己编写的json文件的方法
2019/04/25 Javascript
JavaScript实现京东放大镜效果
2019/12/03 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
[02:10]DOTA2亚洲邀请赛 EG战队出场宣传片
2015/02/07 DOTA
Python logging模块学习笔记
2014/05/24 Python
Python实现的计算器功能示例
2018/04/26 Python
flask中的wtforms使用方法
2018/07/21 Python
Python Socket编程之多线程聊天室
2018/07/28 Python
python实现三次样条插值
2018/12/17 Python
Django框架安装方法图文详解
2019/11/04 Python
python3.8 微信发送服务器监控报警消息代码实现
2019/11/05 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
Python设计密码强度校验程序
2020/07/30 Python
VSCODE配置Markdown及Markdown基础语法详解
2021/01/19 Python
Monnier Freres中文官网:法国领先的奢侈品配饰在线零售商
2017/11/01 全球购物
MyHeritage美国:家族史研究和DNA测试的领先服务
2019/05/27 全球购物
师范学院教师自荐书
2014/01/31 职场文书
保护动物倡议书
2014/04/15 职场文书
公司承诺函范文
2015/01/21 职场文书
乐山大佛导游词
2015/02/02 职场文书