![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Podobnie jak w temacie.
Potrzebuje kodu w js który daje następujący efekt: 1. jeżeli kursora nie ma w polu text w formularzu to widnieje tam napis login; 2. jeżeli postawię kursor to tekst znika. Tylko prosze, nie znam js i nie odsyłajcie mnie do pojedynczych funkcji. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 436 Pomógł: 6 Dołączył: 8.11.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
[xml:1:1d4ddccf0c]
<input type="text" name="login" value="twój login" onblur="if(this.value=='')this.value='twój login';" onfocus="if(this.value=='twój login')this.value='';"> [/xml:1:1d4ddccf0c] |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Mam jeszcz dwie prośby:
1. czy da się żeby tekst był po załadowaniu strony, bo na razie działa dopiero bo tym jak raz postawią kursor ( i potem już ok); 2. czy w polu typu input.password można wyświetlić taki tekst ale żeby to nie były gwiazdki, gwiazdki powinny pojawiać się przy pisaniu. Czy to w ogóle jest wykonalne; 3. i czy to może być funkcja , to bym ją sobie do innego pliku wsadził. Bo będę z tego kożystał wiele razy. Dzięki z góry. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 436 Pomógł: 6 Dołączył: 8.11.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Ad.1 U mnie wyświetla ten tekst odrazu po załadowaniu więc nie wiem co jest u ciebie.
Ad.2 Nie wiem Ad.3 Nie wiem |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 195 Pomógł: 0 Dołączył: 7.07.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
mike: mozna, ale to jest powazny blad i dziura w browserach... mozesz mianowicie zmienic typ pola.
Czyli stworzyc funkcje ktora onfocus zmieni typ pola z password na text, nastepnie zmieni zawartosc a na blur przywroci ustawienia. A czy to moze byc funkcja? Pewnie... Kod <script type="text/javascript">
function setInfo(o) { if (!o.value) o.value="wpisz login"; } function removeInfo (o) { if (o.value=="wpisz login") o.value=""; } </script> Dla passworda musisz jeszcze zmieniac typ czyli dopisujesz do bloku warunkowego o.type="password", o.type="text". -------------------- "(...)Zrozumienie wymagaloby od Ciebie odrobiny pokory. A dzis, w dobie
obalania autorytetu i udowadniania, ze doswiadczenie jest niepotrzebnym balastem, to jest niemodne.(...)" |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 4.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat mike: mozna, ale to jest powazny blad i dziura w browserach... mozesz mianowicie zmienic typ pola.
Czyli stworzyc funkcje ktora onfocus zmieni typ pola z password na text, nastepnie zmieni zawartosc a na blur przywroci ustawienia. wlasciwosc type elementu input w IE jest readonly.. ...w gecko oczywiscie nie ![]() Pozdrawiam evo |
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 195 Pomógł: 0 Dołączył: 7.07.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
argh, nie wiedzialem.
W takim razie musisz zrobic dwa inputy i zaglowac ich visibility albo display. -------------------- "(...)Zrozumienie wymagaloby od Ciebie odrobiny pokory. A dzis, w dobie
obalania autorytetu i udowadniania, ze doswiadczenie jest niepotrzebnym balastem, to jest niemodne.(...)" |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 91 Pomógł: 0 Dołączył: 25.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat funkcja...
Funkcję taką można zapisać "prościej" i jest to jedna funkcja: [xml:1:98534cf8ce]function insert() { var inp = document.test.login; (inp.value == "Twój login") ? inp.value = "" : (inp.value == "") ? inp.value="Twój login" : ""; }[/xml:1:98534cf8ce] w ramach Body: [xml:1:98534cf8ce]<form name="test"> <input type="text" name="login" value="Twój login" onblur="insert()" onfocus="insert()"> </form>[/xml:1:98534cf8ce] Fajnym rozwiązaniem jest także wstawienie jako tła pola input obrazka ze stosownym napisem (podaj login, podaj hasło). W tym celu tworzysz odpowiednich rozmiarów obrazek, w kodzie zapisujesz to tak: [xml:1:98534cf8ce]<input type="password" name="pass" style="background-image: url('pass.gif')">[/xml:1:98534cf8ce] Kontynuując te rozważania ![]() Wyglądałoby to tak: [xml:1:98534cf8ce]<style type="text/css"> INPUT.pass { background-image: url('pass.gif') } INPUT.clear { background-image: url('clear.gif') } </style>[/xml:1:98534cf8ce] i [xml:1:98534cf8ce]<input type="password" name="pass" onblur="this.className='pass'" onfocus="this.className='clear'" style="background-image: url('pass.gif')">[/xml:1:98534cf8ce] W powyższym przykładzie mamy jeden plik - pass.gif z napisem "Podaj hasło". Napis (a właściwie tło) widnieje do momentu ustawienia kursora w polu, wówczas to tło ginie (podstawiony jest brakujący obrazek clear.gif - pojawi się białe tło). Przy zdarzeniu onblur tło z napisem powraca... |
|
|
![]()
Post
#9
|
|
Grupa: Przyjaciele php.pl Postów: 195 Pomógł: 0 Dołączył: 7.07.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No tylko, ze jak ktos juz wpisze znaki i zabierze kursor to mu sie bedzie wyswietlal napis w tle.
i proponowalbym jendak uzywac poprawnej notacji jezyka JS: document.forms['formularz'].elements['pole'] - w celu uzyskania zgodnosci z innymi przegladarkami niz IE. -------------------- "(...)Zrozumienie wymagaloby od Ciebie odrobiny pokory. A dzis, w dobie
obalania autorytetu i udowadniania, ze doswiadczenie jest niepotrzebnym balastem, to jest niemodne.(...)" |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 91 Pomógł: 0 Dołączył: 25.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat No tylko, ze jak ktos juz wpisze znaki i zabierze kursor to mu sie bedzie wyswietlal napis w tle.
Racja ![]() Cytat i proponowalbym jendak uzywac poprawnej notacji jezyka JS:
document.forms['formularz'].elements['pole'] - w celu uzyskania zgodnosci z innymi przegladarkami niz IE. Jeżeli tak się bawimy ![]() [xml:1:ee00276a6f]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <title> </title> <script type="text/javascript"> <!-- <![CDATA[ function insert() { var inp = document.getElementById('test').login; (inp.value == "Twój login") ? inp.value = "" : (inp.value == "") ? inp.value="Twój login" : ""; } // ]]> --> </script> </head> <body> <form id="test" action=""> <input type="text" name="login" value="Twój login" onblur="insert()" onfocus="insert()" /> </form> </body> </html>[/xml:1:ee00276a6f] Poprzedni przykład tak i ten działają na IE 6.0, Opera 7.23, Mozilla 1.6. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 11:28 |