小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

CGI起動時、カーソルを砂時計にして、2度押しや他のボタンを無効にする

document.body.style.cursor = "wait";では、ボタンの上ではカーソルが砂時計にならない。
ボタンは、ボタン毎のcursorプロパティへ"wait"をセットすると上手く行く。

サンプル

<html>
<head>
<title>CGI起動時、カーソルを砂時計にして、2度押しや他のボタンを無効にする</title>
<script type="text/javascript">
function SubmitCheck() {
    if (document.body.style.cursor == "wait") return false; //2度押しや他のボタンを無効にする
    document.body.style.cursor = "wait";
    for (var i = 0; i < document.getElementsByTagName('input').length; i++) {
        document.getElementsByTagName('input')[i].style.cursor = "wait";
    }
    return false; //formのactionのCGIを有効にするには、ここを true にする
}
</script>
</head>
<body>
<form method="POST" action="XXX.cgi" name="FMxxx" onSubmit="return SubmitCheck()">
<input type="submit" value="XXX" name="XXX">
</form>
<form method="POST" action="YYY.cgi" name="FMyyy" onSubmit="return SubmitCheck()">
<input type="submit" value="YYY" name="YYY">
</form>
</body>
</html>