3

約 100 jsp ページの大きなアプリケーションがあります。(javascript を使用して) フォームを送信しても、カーソルは変化しません。フォーム送信を動的にインターセプトし、jquery を使用してカーソルを変更する方法はありますか? 残念ながら、名前付きフォームを使用したセレクターは使用できない場合があります。また、共通の js ファイルに関数を含めることで、すべてのフォームに対して汎用的な関数を維持したいと考えています。

次のコードを試しましたが、うまくいきませんでした。以下で試しているのと同様のセレクターを使用する方法はありますか?

function cursorwait(e) {
    document.body.className = 'wait';
}

$(function () {
    var jspform = $('form');
    var fmsubmit = jspform.onsubmit;

    jspform.onsubmit = function () {
        cursorwait();
        if (fmsubmit) {
            fmsubmit.call(jspform);
        }
    }
});
4

1 に答える 1

4
$('form').submit(function(){
  document.style.cursor = 'wait';
});

非常に原始的ですが、あなたが求めていることを実行すると思います。

ファローアップ:

  • .submit()jQuery によって提供されるイベント バインダーです (したがって、使用onsubmitしてクロス ブラウザーに準拠する必要はありません)。
  • これは、送信に「機能を追加する」だけであり、フォームの送信を妨害したり、拒否したり、ブロックしたりしません (たとえば、クライアント側の検証を使用してフォームが失敗した場合など)。これには、この状況を処理するための追加のロジックが必要になります。
  • ドキュメント全体にカーソル スタイルを適用しましたが、ボディ クラスを同じコード ブロック内に簡単に追加できます。
于 2013-04-18T14:58:26.950 に答える