2009-10-07 32 views
5

Tôi cố gắng để tập trung vào các đầu vào Tên truy nhập trong màn hình đăng nhập của tôi để cho phép truy cập dễ dàng hơn để đăng nhập và hiện jquery của tôi trông như thế nàyJquery - Tập trung vào trường nhập trong biểu mẫu trên tải trang?

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

nhưng điều đó không làm việc ... bất kỳ ý tưởng?

+0

Đăng thẻ cho mục biểu mẫu tên người dùng của bạn. –

+1

giống như hầu hết mọi người đã nói, điều đó sẽ hoạt động trừ khi bạn đặt tên cho thẻ tên người dùng đó là không chính xác – TStamper

+0

điều này đang làm asp.net MVC, kiểm tra phần tử trong trang xác minh ID của tôi là chính xác, mã là <% = Html.TextBox ("Tên người dùng")%> – Jimmy

Trả lời

4

Nó hoạt động trong ví dụ đơn giản sau đây. Do đó, có điều gì đó đang diễn ra trên trang của bạn làm cho đầu vào mất tập trung. Tôi khuyên bạn nên sử dụng setTimeout để đặt tiêu điểm.

<!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

không chắc chắn lý do tại sao nó không hoạt động ... không chắc chắn whats going on – Jimmy

5

Thẻ có thuộc tính id không?

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

Tôi đoán nó chỉ có một thuộc tính tên:

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

Nếu bạn không thể thêm thuộc tính ID, bạn có thể chọn nó như thế này:

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

của bạn HTML có dạng là < id đầu vào = "Tên người dùng" ... > (Phân biệt chữ hoa chữ thường)?

1

Vâng, đó là cách bạn thực hiện. Hãy chắc chắn rằng ID là chính xác, tôi giả sử.

0

Internet Explorer có một số vấn đề với ví dụ mã này:

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

Làm thế nào ngu ngốc có vẻ, nhưng điều này đã giải quyết được vấn đề đối với tôi:

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

Hoặc cố gắng sử dụng setTimeout

2

Thời gian chờ có thể sẽ thực hiện thủ thuật:

$(document).ready(function() { 
     setTimeout(function(){ 
      $("input[name='inputname']").focus(); 
     }, 200); 
    }); 
Các vấn đề liên quan