Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Konwersja typu zmiennej
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Gloin Eldring
witajcie.

potrzebuje stworzyc formularz dynamiczny, w ktorym podajemy 3 zmienne numeryczne i ktore sa obliczane w odpowiedni sposob.

stworzylem dzis na szybkosci takie cos:
  1. <TITLE>test</TITLE>
  2. <script LANGUAGE="JavaScript">
  3. function TestCalc (form) {
  4. var lampy = form.lampy.value;
  5. var godziny_dobowe = form.dobowe.value;
  6. var godziny_tygodniowo = form.tygodniowe.value;
  7. var testLamp1 = 0;
  8. testLamp1 = lampy + godziny_dobowe + godziny_tygodniowo;
  9. var testLamp = testLamp1 * 1;
  10. document.write ("Sumka: ");
  11. document.write (testLamp * 1);
  12. }
  13. </HEAD>
  14. <FORM NAME="myform" ACTION="" METHOD="GET">wstaw dane: <BR>
  15. dane <INPUT TYPE="text" NAME="lampy" VALUE=""><P>
  16. dane <INPUT TYPE="text" NAME="dobowe" VALUE=""><P>
  17. dane <INPUT TYPE="text" NAME="tygodniowe" VALUE=""><P>
  18. <INPUT TYPE="button" NAME="button" Value="klik" onClick="TestCalc(this.form)">
  19. </FORM>
  20. </BODY>
  21. </HTML>


tak, wiem- wyglada to dziwnie.
otoz po wpisaniu 1, 1, 1 wyswietla mi sie 111 zamiast 3 (suma). spowodowane jest to najpewniej typem danych. zmienne sa wprowadzane jako "1", a nie jako 1... stad te mnozenie przez 1- mialem nadzieje,z e typ danych sie zmeni. Podobnie jak dwa razy document.write();
problem w tym, ze nie wiem jak to zmienic tongue.gif

i mam jeszcze prosbe- w jaki sposob wyswietlamy wynik na tej samej stronie, bez przeladowania, w okreslonym divie?
stawiam pierwsze kroki w javascript, niby troche czytam, ale milo jest gdy ktos pokaze kod i palcem pokaze co za co odpowiada wink.gif
phpion
1. parseInt
2. document.getElementById('id').innerHTML
Gloin Eldring
juz wczoraj sobie poradzilem, tylko "naokoło" wink.gif

  1. function TestCalc (form) {
  2. var lampy = form.lampy.value;
  3. var godziny_dobowe = form.dobowe.value;
  4. var godziny_tygodniowo = form.tygodniowe.value;
  5.  
  6. var lampy1 = new String(lampy);
  7. var godziny_dobowe1 = new String (godziny_dobowe);
  8. var godziny_tygodniowo1 = new String (godziny_tygodniowo);
  9.  
  10.  
  11. var suma = Number(lampy1) + Number(godziny_dobowe1) + Number(godziny_tygodniowo);
  12. document.write("suma <br/>" + suma);
  13. }


co do drugiego- juz zabieram sie za czytanie, dzieki wink.gif


@edit:
odswiezam:
dobra, nie bede tworzyl nowego tematu, skoro jest ten wink.gif

  1. function TestCalc (form) {
  2. var lampy = form.lampy.value;
  3. var godziny_dobowe = form.dobowe.value;
  4. var godziny_tygodniowo = form.tygodniowe.value;
  5.  
  6. var lampy1 = new String(lampy);
  7. var godziny_dobowe1 = new String (godziny_dobowe);
  8. var godziny_tygodniowo1 = new String (godziny_tygodniowo);
  9.  
  10.  
  11. var suma = Number(lampy1) + Number(godziny_dobowe1) + Number(godziny_tygodniowo);
  12. document.getElementById('policz').innerHTML = suma;
  13. //document.write("suma <br/>" + suma);
  14. }


wszystko fajnie dziala, aleeee....

po kliknieciu przycisku (ktory wywoluje ta funkcje) zmienia sie zawartosc i przeladowuje strone od razu...
czy to wina tego, ze przeladowuje caly formularz? Bo chce by wymienialo formularz na wynik...

  1. <fieldset id="policz"><form name="kalkulator" id="kalkulator" action="" method="get" "="">
  2. <p><label for="lampy">Liczba lamp</label><input type="text" class="input" name="lampy" value=""><br></p>
  3. <p><label for="dobowe">Dobowa liczba godzin pracy</label><input type="text" class="input" name="dobowe" value=""><br></p>
  4. <p><label for="tygodniowe">Liczba dni pracy tygodniowo</label><input type="text" class="input" name="tygodniowe" value=""><br <="" p=""><br>
  5. </p><p class="submit"><input type="submit" value="Policz" onclick="TestCalc(this.form)"></p>
erix
Google: onsubmit + preventDefault.
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.