欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript setTimeout()傳遞函數(shù)參數(shù)(包括傳遞對象參數(shù))

 更新時間:2010年04月07日 12:03:49   作者:  
由于需要,我要用到setTimeout()并且在里邊的函數(shù)參數(shù)傳遞一個參數(shù),就像這樣setTimeout("fun(參數(shù))", 1000)。但是以我這種寫法,js會報錯,說‘參數(shù)’未定義。
于是,上網(wǎng)查找了一下,用了另一種寫法setTimeout("fun("+參數(shù)+")", 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);
但是一旦要傳遞其他什么參數(shù)或者是對象參數(shù),按照網(wǎng)上提供的方法就是要重寫這個函數(shù)了。
經(jīng)過研究和實踐,我自己改進了方法,大家可以參考借鑒一下,我只是依據(jù)我的個人需要,其他情況我也不能保證,請多多指教!
復制代碼 代碼如下:

<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);//還有這一行
}

就這樣,我解決了對象參數(shù)傳遞的問題,最后想說一句,能有更好的解決方法請作評論提出來,本人樂意與志同道合者學習!

相關(guān)文章

最新評論