Google
 
Web itpro-blogger.blogspot.com
木曜日, 1月 14, 2010

[JavaScript]disabledが反映しない

▼質問
ボタン操作で処理の長いものがあった時に、他のボタンなどが操作されないように

全てのコントロールをdisabledで操作不可状態にしようとしたんだけど・・・。

うまく反映しない時があるんだ。

どうしてかわかるかな?!

▼回答
setTimeout関数を使わないと駄目みたいなんだ。

そのやり方を次に示しておくから参考にしてくれ!!




function allDisabled( flag )
{

with ( document.フォーム名 ) {
for ( var i = 0 ; i < elements.length ; i++ ) {
elements[i].disabled = flag;
}
}

}

■ボタンから呼出す関数
function doMainProc()
{

document.body.style.cursor = "wait";

// disabled設定処理
allDisabled( true );

var n = setTimeout( "doSubMainProc();", 1 );

}
function doSubMainProc()
{

// 処理を記述

clearTimeout( "doSubMainProc();" );

document.body.style.cursor = "default";

// disabled設定処理
allDisabled( false );

}




■参考サイト
ボタンの非表示






Comments: コメントを投稿

<< Home

This page is powered by Blogger. Isn't yours?