javascript setTimeout() は関数パラメータを渡します (オブジェクトパラメータの渡しを含む)_javascript スキル

WBOY
リリース: 2016-05-16 18:30:28
オリジナル
1380 人が閲覧しました

そこでネットで調べて別の書き方 setTimeout("fun("parameter")", 1000) を使ってみましたがやはりダメでしたが、フォームフォームのテキストエリアを渡す場合は上記の書き方でOKでした。たとえば、hml は次のようになります:

コードをコピー コードは次のとおりです:


">



>




js では次のように記述できます。

setTimeout("doAjax(document. sform.txtara.value )", 1000);
ただし、他のパラメーターまたはオブジェクト パラメーターを渡したい場合は、提供されているメソッドに従ってこの関数を書き直す必要があります。インターネット上で。
研究と実践を経て、私自身がこの方法を改善しました。これは私の個人的なニーズに基づいているので、他の状況については保証できません。


コードをコピー

コードは次のとおりです。 div クラス = "メイン">
type=" submit" name="subt" value="send" onclick="doAjax(sform.txtara.value, this);return false;"/>
フォーム>




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.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) ;//次の行も
}


このようにして、オブジェクトパラメータの受け渡しの問題を解決しました。最後に、より良い解決策がある場合は、コメントを残してください。同じ志を持った方々と協力していただけると嬉しいです!
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート