go_lab
19.06.2007, 01:56:50
Witam!
Mam następujący problem:
Mam pole, trzeba wpisać login i hasło.
Chcę to rozwiązać w następujący sposób:
pole, w którym podaje się hasło domyślnie będzie miało wartość "wpisz hasło" czy "password" albo cośtam.
Chciałem zrobić tak, aby po kliknięciu na to pole można było wpisać hasło, ale aby pole zmieniło swoje atrybuty na zagwiazdkowane.
document.getElementById('pass').type='password'
nie działa, nie ma czegoś takiego.
Czy da się to wogóle zrobić?
wojtek.zielinski
19.06.2007, 05:46:25
Można to rozwiązać na dwa sposoby, choć nie wiem, czy słuszne.
1. Zrobić odpowiedni obrazek z napisem "wpisz hasło" i wstawić jako background-image, a na onfocus usunąć to tło.
2. Bardziej skomplikowane rozwiązanie - zrobić dwa pola - <input type="text" value="wpisz hasło" /> i <input type="password" />, drugie pole domyślnie niewidoczne. W pierwszym dać na onfocus zniknięcie tego pola i pojawienie się drugiego z jednoczesnym przeniesieniem focusa.
go_lab
19.06.2007, 09:06:38
Zmiana tła stronki nie stanowi problemu, ale poprzez różne analogie nie mogę dojść do zmiany tła pola formularza.
Jeśli ktoś zarzuci jeszcze odpowiednią komendą będe bardzo wdzięczny.
Reigon
19.06.2007, 09:24:14
Sprobuj:
var input = document.getElementById('pass');
input.setAttribute("type","password");
Przy tworzeniu inputa dziala, nie testowalem natomiast czy mozliwa jest taka modyfikacja
fan_pascala
19.06.2007, 10:39:36
W normalnych przeglądarkach to zadziała, ale w IE6 to się wysypie na linii :
input.setAttribute("type","password");
mara.tonczyk
19.06.2007, 11:04:56
od siebie dodam takie cos:
function zmien()
{
document.getElementById('haslo').innerHTML='
<input type="password" name="polehasla" id="polehasla" />';
setTimeout("document.getElementById('polehasla').focus()", 50);
}
<input tyle="text" value="dawaj haslo" onclick="zmien()" />
settimeout z dedykacja dla IE ktory chyba dlugo tworzy inputa ze potem go nie widzi przy poleceniu focus
abc667
19.06.2007, 14:58:36
<script type="text/javascript"> function change()
{
document.forms['form'].elements['pole'].type = 'password'; //1
document.getElementById('pole').type = 'password'; //2
}
<input type="text" name="pole" id="pole" value="wpisz hasło" onfocus="change();" />
obie formy działają
go_lab
19.06.2007, 15:07:48
Cytat(mara.tonczyk @ 19.06.2007, 12:04:56 )

settimeout z dedykacja dla IE ktory chyba dlugo tworzy inputa ze potem go nie widzi przy poleceniu focus
Nadal pojawia się "Nieznany błąd czasu wykonania."
A wcześniejsza propozycja sprawdza się w Mozilli, ale Explorer sie przy niej rozkłada
wojtek.zielinski
19.06.2007, 18:01:01
Cytat(go_lab @ 19.06.2007, 10:06:38 )

Zmiana tła stronki nie stanowi problemu, ale poprzez różne analogie nie mogę dojść do zmiany tła pola formularza.
Jeśli ktoś zarzuci jeszcze odpowiednią komendą będe bardzo wdzięczny.
<input type="password" id="passField" ... />
<script type="text/javascript"> function ChangeBg()
{
document.getElementById('passField').style.backgroundImage = 'sciezka/plik.jpg';
}
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.