Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przetwarzanie danych w formularzu
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
bartek-z
Mam taki kod:
  1. <script language="javascript" type="text/javascript">
  2. <!--
  3. function format(liczba, lmpp) {
  4. ile = ""+Math.round(liczba*Math.pow(10,lmpp))/Math.pow(10,lmpp);
  5. if (ile.indexOf(".")<0) ile+=".0";
  6. while ((ile.length-ile.indexOf(".")-1)<lmpp) ile = ile+"0";
  7. // ile = ile.replace(/\./,",");
  8. return ile;
  9. }
  10. lmpp=10
  11.  
  12. // -->

Przetwarza on tak liczbe by miala 10 znakow po przecinku.
Chcialbym ta funkcje wywolac przy opuszczaniu pola w formularzu:

  1. <input name="pole1" onChange="liczba = format(pole1,lmpp)">

Oczywiscie mam blad... w jaki sposob wywolac ta funkcje prawidlowo?
revyag
Jeśli chcesz wywołać funkcję kiedy element przestaje być aktywny użyj zdarzenia onblur
bartek-z
Pozostaje glowna sprawa, jak zrobic by przy wpisaniu, np. 12,3 i opuszczeniu pola zostala ona zmieniona na 12,3000000000.
  1. <input name="pole1" onChange="liczba = format(pole1,lmpp)">
  2. <input name="pole2" onChange="liczba = format(pole2,lmpp)">
  3. <input name="pole3" onChange="liczba = format(pole3,lmpp)">
  4. <input name="pole4" onChange="liczba = format(pole4,lmpp)">

Testowalem onChange i onblur - bardziej pasuje mi onChange.

Wczesniej bawilem sie funkcja juz to wykonujaca, ale niestety musze wtedy zrobic to dla kazdego pola osobno, a tych pol mam okolo 30...


Rozwiazanie (mam nadzieje, ze komus sie przyda):
  1. <input type="numeric" size=5 name="pole1" id="pole1" onChange="java script: document.getElementById('pole1').value = format(document.getElementById('pole1').value,lmpp)">
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.