2013-06-26 16 views
19

Jeśli mam pole <input> z atrybutem readonly, nadal będzie ono wyświetlane z kursorem tekstowym I-beam. Czy istnieje sposób, aby zatrzymać wyświetlanie tego kursora?Użyj atrybutu readonly w <input> bez zmiany kursora

Nie mogę użyć atrybutu disabled, ponieważ request.getParameter() nie działa w wyłączonych polach.

+0

Jak się budujesz (kod JSP? Kod HTML?) ""? – acdcjunior

+0

Jeśli chcesz wyjaśnić, który kursor masz na myśli, powiedz "kursor myszy" kontra "kursor klawiatury" lub "[wskaźnik] (https://en.wikipedia.org/wiki/Pointer_ (graphical_user_interfaces))" vs "[caret] (https://en.wikipedia.org/wiki/Caret_navigation) ". Oba kursory wyglądają jak dwuteownik w polu tekstowym. – Tgr

+1

Po prostu chcę dodać, 'request.getParameter()' nie działa, ponieważ jeśli ustawisz atrybut "disabled" na twój element, taki jak select lub input, nie zostanie przesłany, gdy jest częścią formularza @Premshankar Tiwari –

Odpowiedz

4

Spróbuj znaczników w swojej formie do pola tekstowego

<input type="text" value="test" onfocus="this.blur()" readonly="readonly" />

Główną rzeczą, która pomaga ukryć kursor jest onfocus = "ten .plama()".

+1

Oh ... świetnie ... Jak mogłem tego wcześniej nie zauważyć ... działa w firefoxie, ale w IE potrzeba czasu na rozmycie ... nadal dobre rozwiązanie .. dzięki –

+0

Ten scenariusz nie działa dobrze z IE . Wolałbym przesłonić kursor w bootstrapowym CSS i napisać moją własność wskaźnika CSS pozostawiając '' jako 'readonly'. – instinct

26

Ideą elementów readonly jest to, że nadal można czytać i kopiować tekst, ale nie można ich edytować. Powiedziawszy, możesz zmienić kursor używając CSS attribute selectors. Ten przykład będzie pasować do każdego elementu input z atrybutem readonly:

input[readonly] { 
    cursor: pointer; 
} 
+0

I próbowałem tego ... po prostu pokazuje odpowiedni kursor po najechaniu kursorem ... ale po kliknięciu .. pole dostaje kursor .. –

+3

+1 Dobry punkt na temat możliwości wyboru i kopiowania! – frequent

+3

Jeśli to nie działa, spróbuj kursor: wskaźnik! Ważne; To powinno dawać lepsze ustawienia domyślne. Stać się bardziej zaznajomieni z tym, co ważniejsze, im więcej pracuję z twitter bootstrap. : | –

12

Nie chciałem, aby zastąpić domyślne style Bootstrap, tak doszedłem wraz z następującym roztworem:

Moje MNIEJ Plik:

input[readonly] { 
    &.default-cursor { 
     cursor: default; 
    } 
} 

Albo w CSS:

input[readonly].default-cursor { 
    cursor: default; 
} 

Moje HTML :

<input type="text" class="form-control text-xl default-cursor" readonly> 
+0

To jest IT, dzięki człowieku!:) –

+0

@totas: Wielkie dzięki! to jest najlepsza odpowiedź. – PhatHV

4

Dla osób, które nie chcą w ogóle pokazywać karetki:

input[readonly] { 
    pointer-events: none; 
} 
Powiązane problemy