WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:カーソルの形状

0:[投稿] ぱんだ [2002/08/07 11:38 ][環境:WIN+IE WIN系+Java]

ぱんだです。いつもお世話になっています。

今回、何かのアクションが発生した時にカーソルの形状を
砂時計にして、テキストボックスや、ボタンの選択(クリック)
ができないようにしたいと考えています。

カーソルの形状変更は
document.form[0].body.style.cursor = 'wait';
で変更できるのですが、これだけではボタン押下や、リンク押下
テキストボックスの選択が可能になってしまいます。
これらの部品を選択できないようなカーソルにすることは
可能なのでしょうか??

どなたかご存知の方がおりましたら、ご教授ください。


1:[質問] ぱんだ [2002/08/07 12:01 ]

すみません。ぱんだです。

上記に関連して、マウスのカーソルを無効化する
JavaScriptってあるのでしょうか??
個人的にも探しているのですが・・・

よろしくお願いします。


2:[回答] popo [2002/08/07 13:23 ]

IEのみで、スタイルシートなら、’wait’で砂時計を表示できると思います。テストしていません。

あとはjavascriptでの制御ですか。


3:[回答] popo [2002/08/07 13:24 ]

あ、これ間違い記入でした。すみません。


4:[回答] xxx [2002/08/07 13:49 ]

何かのアクションがどんな時なのか判りませんが、ボタンを
押せないようにするではなく、押した際に次の動作に移行しても
良いかを判定させてはダメでしょうか?


5:[質問] ぱんだ [2002/08/07 14:01 ]

ぱんだです。
popoさん、xxxさんありがとうございます。

えっと、アクションが発生するタイミングは
テキストボックスからカーソルが離れた瞬間です。
onBlurでサーバに送信しています。
この送信している間に、他のボタンを押されたり
テキストボックスに入力されるのを防ぎたいのです。

JavaScript限定でなくJSPでの記述があれば、助かります。

xxxさん、
「押した際に次の動作に移行してもよいか判断する」というのは、
例えばページを読み込み中だったら、actionを発生させないということでしょうか?
そのような方法が可能でしたら、ご教授願えないでしょうか?


6:[回答] xxx [2002/08/07 14:13 ]

仕事でどうしてもそういう仕様にしろと言われているなら
仕方ないですが(その仕様を作った人の考えが判りませんが)、
「テキストエリアからフォーカスが離れると送信」が条件なら
一度問題の個所へフォーカスが合ってしまうと、他の部分への
記入忘れに気づいてももう遅いですよね。

やはりユーザーの判断で送信させたほうが良いかと思いますが、
ゲームとか場合等この限りじゃない場合も考えられるので、
この部分は置いておき、送信動作中にはボタン類は押せないのが
通常の動作のはずですが、中には押せてしまうブラウザも存在するので
それを避けたいなら、フォーム上に透明レイヤーでラップしてしまうか
その旨注意するメッセージを表示してから送信動作を行えば何とか
なると思います。


7:[完了] ぱんだ [2002/08/07 14:54 ]

ぱんだです。
xxxさんありがとうございました。

>仕事でどうしてもそういう仕様にしろと言われているなら
>仕方ないですが(その仕様を作った人の考えが判りませんが)、
・・・私もそう思います。。
仕様で、そうしろとのお達しなんです。

>フォーム上に透明レイヤーでラップしてしまうか
>その旨注意するメッセージを表示してから送信動作を行えば
やはり、この方法しかないですか。
簡単に部品が無効化できればと思ったのですが、
無理そうですね。

相談にのって頂きありがとうございました。


8:[完了] Malic [2002/08/08 10:51 ]

「押した際に次の動作に移行してもよいか判断する」というのは、
例えばページを読み込み中だったら、actionを発生させないということでしょうか?
そのような方法が可能でしたら、ご教授願えないでしょうか?

データ送信後画面が次の画面に移行するなら、下記方法が可能です。

別のフォーム(送信するフォームとは別に、と言う意味)に、フラグの隠し項目作っておいて、onBlur で送信する1命令前に、フラグ変更したらどうですか?

以下簡単なロジック

1.bodyのonLoadイベントで、フラグ初期化(0)
2.inputのonBlurイベントでフラグを送信中(1)に変える
3.onBlurイベントでの送信(submit)を実行

対象のボタンや項目には onFocus イベントを作成し、
フラグが1なら、blur でフォーカスを失わせる (ボタンなら機能を無効化する)


9:[完了] Malic [2002/08/08 11:03 ]

注記:2ヶ所以上のテキストボックスで送信を行っているのでしたら、
フラグがもう1個必要です。(onFocus イベントで実行されたblur では送信しないようにするロジックを記述しないと・・・)


10:[完了] ぱんだ [2002/08/08 15:56 ]

ぱんだです。
Malicさん、ありがとうございました。

いろいろ考慮したのですが、画面に表示している
フォームが多いため、それぞれのTEXTやBUTTONに処理を埋め込むのは
現実的ではないと判断しました。
作業時間との兼ね合いもありますが。。。

上記でアドバイス頂いたことは、
別の機会に試してみたいと思います。

ありがとうございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World