Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [javscript] problem z zdziałaniem skryptu
Forum PHP.pl > Forum > Przedszkole
The Night Shadow
  1. <script type="text/javascript" language="JavaScript">
  2.  
  3. function parseToFloat(number)
  4. {
  5. var output, str;
  6.  
  7. // parsujemy na float
  8. output = parseFloat(number)
  9. str = String(output);
  10.  
  11. // jesli zwrocony string jest bez kropki
  12. if(str.lastIndexOf('.') == -1)
  13. {
  14. str += '.00';
  15. }
  16. else
  17. if ( (str.length - str.lastIndexOf('.')) == 2 )
  18. {
  19. str += '0';
  20. }
  21.  
  22. return(str);
  23. }
  24.  
  25. function zmien(id)
  26. {
  27. if (id.form['wysylka'].wysylka[0].checked==true)
  28. {
  29. id.form['suma'].value = parseToFloat(parseFloat(12) + parseFloat(id.form['zamowienie'].value));
  30. id.form['dostawa'].value = parseToFloat(parseFloat(12));
  31. }
  32. if (id.form['wysylka'].wysylka[1].checked==true)
  33. {
  34. id.form['suma'].value = parseToFloat(parseFloat(45) + parseFloat(id.form['zamowienie'].value));
  35. id.form['dostawa'].value = parseToFloat(parseFloat(45));
  36. }
  37. if (id.form['wysylka'].wysylka[2].checked==true)
  38. {
  39. id.form['suma'].value = parseToFloat(parseFloat(48.96) + parseFloat(id.form['zamowienie'].value));
  40. id.form['dostawa'].value = parseToFloat(parseFloat(48.96));
  41. }
  42. if (id.form['wysylka'].wysylka[3].checked==true)
  43. {
  44. id.form['suma'].value = parseToFloat(parseFloat(0) + parseFloat(id.form['zamowienie'].value));
  45. id.form['dostawa'].value = parseToFloat(parseFloat(0));
  46. }
  47. }
  48.  
  49. </script>


Dlaczego powyższy skrypt nie działą pod przeglądarką FF? W IE oraz Operze wszystko jest w porządku.


  1. <input type="radio" name="wysylka" value="1" onclick="zmien(this)" checked> Wysyłka pocztą polską - wpłata na konto<br />
  2. <input type="radio" name="wysylka" value="2" onclick="zmien(this)"> Wysyłka pocztą polską - płatność przy odbiorze<br />
  3. <input type="radio" name="wysylka" value="3" onclick="zmien(this)"> Wysyłka - kurier - wpłata na konto<br />
  4. <input type="radio" name="wysylka" value="4" onclick="zmien(this)"> Odbiór osobisty - płatność przy odbiorze

Jego zdaniem jest dynamiczna zmiana pól w zależności od wartości wybranej w polu checkbox.
abc667
  1. function zmien(id)
  2. {
  3. if (id.form['wysylka'][0].checked==true)
  4. {
  5. id.form['suma'].value = parseToFloat(parseFloat(12) + parseFloat(id.form['zamowienie'].value));
  6. id.form['dostawa'].value = parseToFloat(parseFloat(12));
  7. }
  8. if (id.form['wysylka'][1].checked==true)
  9. {
  10. id.form['suma'].value = parseToFloat(parseFloat(45) + parseFloat(id.form['zamowienie'].value));
  11. id.form['dostawa'].value = parseToFloat(parseFloat(45));
  12. }
  13. if (id.form['wysylka'][2].checked==true)
  14. {
  15. id.form['suma'].value = parseToFloat(parseFloat(48.96) + parseFloat(id.form['zamowienie'].value));
  16. id.form['dostawa'].value = parseToFloat(parseFloat(48.96));
  17. }
  18. if (id.form['wysylka'][3].checked==true)
  19. {
  20. id.form['suma'].value = parseToFloat(parseFloat(0) + parseFloat(id.form['zamowienie'].value));
  21. id.form['dostawa'].value = parseToFloat(parseFloat(0));
  22. }
  23. }
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.