2012-09-29 11 views
14

Załaduję formularz i domyślne fokus do pierwszego pola tekstowego. W polu tekstowym znajduje się domyślna wartość "PW-". (Pierwsze znaki numeru części klientów jak PW-446, PW-9887)Jquery skupia się na pierwszym polu tekstowym i ustawia kursor na końcu wartości dla natychmiastowego wprowadzania danych

Chcą po prostu rozpocząć wpisywanie numerów na obciążenia formularza zamiast klikania na końcu pola, etc do wprowadzania cyfr. Kursor powinien migać na końcu PW- i gotowy do wprowadzenia danych.

Próbowałem wiele różnych sposobów znalezionych na StackOverflow bez powodzenia :-(
jakieś pomysły? Dzięki z góry!

JQUERY

$(document).ready(function(){ 

    $('input:text:first').focus(); 

}); 

HTML

< input type="text" name="part_id" size="20" value="PW-"> 
+2

widział pan to pytanie? http://stackoverflow.com/questions/1056359/set-mouse-focus-and-move-cursor-to-end-in-input-using-jquery –

Odpowiedz

36

Oto EXAMPLE:

$(document).ready(function(){ 
    var el = $("input:text").get(0); 
    var elemLen = el.value.length; 

    el.selectionStart = elemLen; 
    el.selectionEnd = elemLen; 
    el.focus(); 
});​ 

https://developer.mozilla.org/en-US/docs/XUL/Property/selectionStart

https://developer.mozilla.org/en-US/docs/XUL/Property/selectionEnd

Dla starszych wersjach IE być może trzeba użyć: http://msdn.microsoft.com/en-us/library/ie/ms536401(v=vs.85).aspx

+0

FWIW, focus() powinien zawsze być widoczny na widocznym elemencie inaczej nie zadziała. Oznacza to, że musisz skupić się na elemencie PO element jest widoczny, a nie wcześniej. – zmonteca

+0

Lovely. Wszystkie inne przykłady podobnych pytań tutaj na SO nie działa dla mnie. Twój robi. –

+0

@Matheretter - Miło to słyszeć: D – Chase

0

Coś trochę innego : może spróbuj ustawić swoje "PW-" tylko w tekście po lewej stronie pola wprowadzania tekstu. Sprawdź poprawność względem liczby w polu, a następnie, przesyłając formularz, dodaj wartość "PW-" do wartości tego pola, aby mieć pełny numer części.

Powiązane problemy