Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Prosty skrypt odliczania sekund
Forum PHP.pl > Forum > Przedszkole
messmaker
I od razu problem. Bez bicia się przyznam, że w tematyce JS raczkuję, ale wolę pisać samemu niż szukać gotowych rozwiązań. Mimo wszystko prosty skrypt odmawia współpracy. Oto kod:

  1. <script type="text/javascript">
  2. function dec(field) {
  3. alert(field);
  4. pole = document.getElementById(field);
  5. pole.value = pole.value-1;
  6. if (pole.value>0) {
  7. alert('OK, dalej'); setTimeout('dec('+field+')',1000);
  8. }
  9. }
  10. <input onmouseover="dec(this.id);" id="seconds1" type="text" style="width: 220px" value="10">
  11. </body></html>


Po najechaniu na pole tekstowe otrzymuję alert o treści "seconds1", zaraz po nim alert "OK, dalej", później następuje sekunda przerwy i alert o treści "[object HTMLInputElement]" i cały skrypt staje. domyślam się, że problem tkwi w miejscu setTimeout, ale za nic nie potrafię sobie z nim poradzić. Co zrobić, żeby poprawnie przekazywać seconds1?
kamil4u
  1. <script type="text/javascript">
  2. function dec(field) {
  3. field.value = field.value-1;
  4. if (field.value>0) {
  5. setTimeout(dec,1000,field);
  6. }
  7. }
  8. <input onmouseover="dec(this); this.onmouseover = null;" id="seconds1" type="text" style="width: 220px" value="10">
  9. </body></html>
  10.  
? Troszkę ulepszyłem smile.gif
messmaker
Hah, idealnie! Dzięki!
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.