[JS] Domyślna wartość w polu input passowrd

0

Witam. Czy jest jakiś sposób na wpisanie domyślnej wartości do pola input typu password aby nie była ona pokazana jako gwiazdki?

Po kliknięciu na to pole ma się ono czyścić żeby user mógł wpisać swoje hasło (wtedy mają być gwiazdki). Dla zwykłego pola 'text' to działa

<input type="text" name="e-mail" value="E-mail address" onFocus="if(this.value=='E-mail address')this.value='';" onBlur="if(this.value=='')this.value='E-mail address';" />

Natomiast z polem dla hasła nie jest już tak kolorowo, bo zawsze pokazują się gwiazdki.

0

Są dwie możliwości wyświetlania niezagwiazdkowanej etykiety w polu input[type=password]:

  1. Wyświetlasz etykietę jako osobny element, pozycjonując ją dokładnie nad polem z hasłem przy użyciu CSS.
  2. Używasz rzeczywistych elementów input, przy czym tu są dwie opcje:
    a) Zmieniasz chwilowo typ pola z password na text, a po kliknięciu na pole -- z powrotem na password. To niestety nie działa w niektórych przeglądarkach, w szczególności w Operze. Zmiana typu pola password<->text jest tam zablokowana.
    b) Podstawiasz w miejsce input[type=password] stworzony w locie element input[type=text] i w nim umieszczasz etykietę. Po kliknięciu usuwasz ten element i przywracasz oryginalny input[type=password]. W ogólnym przypadku ciężko jest sklonować element ze wszystkimi atrybutami i zdarzeniami, a jednocześnie zmienić jego typ. To może powodować pewne problemy, ale wątpię, by Tobie się one objawiły (objawiają się, gdy skrypt ma współpracować z innymi).
0
  1. Tworzysz obrazek wielkości twojego inputu, piszesz tam np. na szaro: "(tu wpisz hasło)" i wrzucasz to jako background do tego pola, kiedy ktoś kliknie background jest ukrywany.
0

Demonical Monk dał ciekawe podejście. Ma takie wady, że nie jest dostępne, no i o wiele ciężej jest zrobić tym sposobem np. wiele języków, czy w ogóle zmodyfikować wyświetlaną etykietę. Ale w tym konkretnym przypadku bez dostępności można się spokojnie obejść, a jeśli nie masz kilku wersji językowych, to ten drugi problem też odpada. A ten sposób jest o wiele prostszy, szczególnie jeśli ktoś nie potrafi za bardzo pisać skryptów.

0

Dzięki za porady. Próbowałem tylko podejścia zaproponowanego przez Demonical Monk. Działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1