2009-10-07 9 views
5

私はログに簡単にアクセス可能にするために、私のログイン画面でユーザ名の入力に注力しようとしていますし、現在、私のjqueryのは、このJquery - pageloadのフォームの入力フィールドに注目しますか?

$(document).ready(function() { 
    $('#Username').focus(); 
}); 

のように見えるが、それは動作しません...任意のアイデア?

+0

ユーザー名フォームアイテムのタグを投稿してください。 –

+1

ほとんどの人のように、そのユーザー名タグの命名が間違っていない限り動作するはずです – TStamper

+0

これはasp.net MVCを実行しています。ページ内の要素を調べると、IDが正しいことが確認され、コードは<%= Html.TextBox ( "Username")%> – Jimmy

答えて

4

以下の簡単な例では機能します。したがって、入力がフォーカスを失う原因となるページ上に何か他のことが起こっています。 setTimeoutを使ってフォーカスを設定することをお勧めします。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
    <head> 
    <title>test!</title> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"> 
    </script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
    $('#Username').focus(); 
}); 
    </script> 

    </head> 

    <body> 
    <input id="Username" /> 
    </body> 
</html> 
+0

なぜそれが動作していないのかわからない – Jimmy

5

タグにはid属性がありますか?

<input id="Username" name="Username" type="text" /> 

私はそれが唯一のname属性を持って推測している:

<input name="Username" type="text" /> 

あなたはID属性を追加することができない場合、あなたはこのようにそれを選択することができます。

$("input[name='Username']").focus(); 
0

あなたHTMLは<のように見えます。入力ID = "ユーザー名" ... >(大文字と小文字は区別されます)?

1

これはあなたのやり方です。 IDが正しいことを確認してください。

0

Internet Explorerは、このコード例のいくつかの問題だ:それはどのように見えるか愚か

$(document).ready(function(){ 
     //focus on search field 
     $("#userSearchField").focus(); 
}); 

を、これは私のために問題を解決:

$(document).ready(function(){ 
    //focus on search field 
    $("#userSearchField").focus(); 
    $("#userSearchField").focus(); 
}); 

または使用しようとするsetTimeout

2

タイムアウトはおそらくトリックを行います:

$(document).ready(function() { 
     setTimeout(function(){ 
      $("input[name='inputname']").focus(); 
     }, 200); 
    }); 
関連する問題