Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: input type='button'
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
damianooo
Witam,

Mam następujący problem ... proszę o podpowiedź ...

Mam taki o to kod:

(javascript)
  1. function add_zam_2 (inn,v) {
  2.  
  3. var el = window.getElementById(inn);
  4. var a;
  5. a = v;
  6. el.value = (Number(el.value) + a);
  7. }
  8.  
  9.  
  10. function sub_zam_2 (inn,v) {
  11.  
  12. var el = window.getElementById(inn);
  13. var a;
  14. a = v;
  15.  
  16. if (el.value == a)
  17. {
  18. a;
  19. }
  20. else
  21. {
  22. el.value = (Number(el.value) - a);
  23. }
  24. }


oraz (html i php)


  1. echo "<center><input type='text' id='Elem1' readonly='readonly' name='ilosc' value='10' maxlength=6 style='width:4.6em;height:1.3em;color:#378347;text-align:right;'></center>";
  2. echo "<input type='button' value='' onclick='add_zam_2(Elem1,5);' style='width:100%;height:100%;background-image: url(img/sub_dod.png);background-repeat: no-repeat;border:none;'/>";
  3. echo "<input type='button' value='' onclick='sub_zam_2(Elem1,5);' style='width:100%;height:100%;background-image: url(img/sub_odejm.png);background-repeat: no-repeat;border:none;'/>";




Skrypt ma zwiększać lub zmniejszać o podaną w parametrze funkcji ilość ...

próbowałem to zrobić w znacznikach form i z trochę innym skryptem i mi to działało jednak zależy mi aby input type='button' nie znajdował się właśnie pomięedzy znacznikami <form></form>

pewnie źle się po prostu odwołuję w skrypcie do elementu input.

Proszę o pomoc w rozwiązaniu problemu

dzięki,
wookieb
Proszę wstawić bbcode.
nospor
Po pierwsze: Elem1 to tekst, wiec ma być w apostrofach.
Po drugie: dodaj return false;

  1. echo "<input type='button' value='' onclick=\"add_zam_2('Elem1',5);return false;\" style='width:100%;height:100%;background-image: url(img/sub_dod.png);background-repeat: no-repeat;border:none;'/>";
damianooo
niestety nie działa ... pewnie coś jeszcze robię źle ...

może pokażę cały kod po Twojej zmianie (tam gdzie wcześniej była wartość 5 to dałem jako przykład ponieeważ tak naprawdę dana jest oczywiście pobierana ze zmiennej php:


  1.  
  2. echo "<div style='float:left;padding:0;margin:0;width:4.4em;height:1.5em;border:1px solid #378347;background-color:white;color:#378347;text-align:right;'>";
  3. echo "<center><input type='text' id='Elem1' readonly='readonly' name='ilosc' value='".$dana_sztywne_dod."' maxlength=6 style='width:4.6em;height:1.3em;color:#378347;text-align:right;'></center>";
  4. echo "</div>";
  5. echo "<div style='float:left;padding:0;margin:0;width:1.5em;height:1.5em;background-color:white;color:#378347;'>";
  6. echo "<div style='float:left;padding:0;margin:0;width:1.5em;height:0.75em;background-color:white;color:#378347;'>";
  7. echo "<input type='button' value='' onclick=\"add_zam_2('Elem1',".$dana_sztywne_dod.");return false;\" style='width:100%;height:100%;background-image: url(img/sub_dod.png);background-repeat: no-repeat;border:none;'/>";
  8. echo "</div>";
  9. echo "<div style='float:left;padding:0;margin:0;width:1.5em;height:0.75em;background-color:white;color:#378347;'>";
  10. echo "<input type='button' value='' onclick=\"sub_zam_2('Elem1',".$dana_sztywne_dod.");return false;\" style='width:100%;height:100%;background-image: url(img/sub_odejm.png);background-repeat: no-repeat;border:none;'/>";
  11. echo "</div>";
  12. echo "</div>";



jeśli ktoś mógłby wkleić te dwa skrypty do siebie na locala i przetestować i podać gdzie leży problem to będę wdzięczny ..
dzięki
nospor
Nie:
window.getElementById
a:
document.getElementById



echo $dana_sztywne_dod;
co wyświetla?
damianooo
ok dzięki ... głupi błąd ... wiedziałem że "document" nie wiem czemu pisałem że "window" ... po prostu został mi śmieć z poprzednich testów ....

tamta zmienna wyświetla dowolną liczbę która aktualnie jest zapisana w bazie danych w odpowiednim rekordzie ... a więc na przykład będzie 5 i dzieki temu można zwiększać o 5 lub zmniejszać o 5 ...

jeszcze raz dzięki, ...

problem będę miał rozwiązany chyba ...


pozdro

to jeszcze tak z ciekawości dopytam ... dlaczego wystarczyło dodać "return false;" żeby kod zadziałał ? ... javascriptu dobrze nie znam i dlatego czasem błądzę ...

nospor
buttony submitują forma. return false powoduje ze nie submitują
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.