1

送信時に(空のフィールド)フロントエンド jsp に春の検証済みエラーを表示するフォームがあります。フロント エンドに表示される最初のエラー メッセージに焦点を当てる必要があります。フォームから生成されたコード (ソースの表示経由): たとえば、div 要素内に囲まれた 2 つのエラー メッセージ。最初のエラー メッセージに注目する必要があります。

      <div id="userid.errors" class="lp">User id is missing</div>
      <div id="age.errors" class="lp">age is missing</div>

以下の jquery コードを試してみましたが、IE でのみ機能し、Firefox では機能しません。firefox では、css スタイルが適切に処理されていても、フォーカスが機能しません。

私は構文とロジックが正しいと確信しています - 誰かがFirefoxブラウザのためにそれを修正するのを手伝ってくれますか?

<script type="text/javascript" src="/scripts/jquery.min.js"></script>
<script type="text/javascript" src="/scripts/jquery.validate.js"></script>

 <script type="text/javascript">

 $(document).ready(function() {
$("[id$='.errors']:first").css("background-color","#FFFFCC");
     setTimeout(function(){
     $("[id$='.errors']:first").focus();
    },300);

 });
 </script> 
4

1 に答える 1

2

なぜあなたがdivにフォーカスしようとしているのか、そしてあなたが何を期待しているのか理解できませんでした。通常、divにフォーカスすることはできませんが、このようにすることができます.

$(document).ready(function() {
$("[id$='.errors']:first").css("background-color","#FFFFCC");
     setTimeout(function(){
         $("[id$='.errors']:first").attr("tabindex",-1).focus();
         alert(document.activeElement.innerHTML+ "is focussed");
    },300);
 });​​

http://jsfiddle.net/x7euD/3/

于 2012-04-23T10:25:48.027 に答える