PDA

Zobacz pełną wersję : kalkulator na stronie bez przeladowywania



kikutnik666
17-07-2013, 16:42
czesc.
jeden z klientow zazyczyl sobie kalkulator na stronce, wstawiany z modulu.
ma on obliczac jakies tam rozne rzeczy, ale bez przeladowywania strony.
Otóż zamiast formularza ma sie wyswietlac wynik.

Opcja wydaje sie prosta- javascript.
Jednak nie jestem specem i przyznaje- poleglem...
Formularz odswieza witryne od razu, albo z sekundowym opoznieniem. Przy sekundowym opoznieniu widac poprawne dzialanie- czyli wpisuje np. 1, 1, 1 i z tego oblicza nam sume, wyswietlajac 3 zamiast formularza.

kod formularza (ustawiany jako modul "wlasny html"):

<p>&nbsp;</p><p>&nbsp;</p><h2 style="margin-left: 140px;">Kalkulator</h2><p>&nbsp;</p><p>&nbsp;</p><h6 style="margin-left: 140px;">Policz, ile zaoszczędzisz</h6><p>&nbsp;</p><p>&nbsp;</p><fieldset id="policz"><form name="kalkulator" id="kalkulator" action="" method="get"><p><label for="lampy">Liczba lamp</label><input type="text" class="input" name="lampy" value="" /><br/></p><p><label for="dobowe">Dobowa liczba godzin pracy</label><input type="text" class="input" name="dobowe" value="" /><br/></p><p><label for="tygodniowe">Liczba dni pracy tygodniowo</label><input type="text" class="input" name="tygodniowe" value="" /><br/></p><br/><p class="submit"><input type="submit" value="Policz" onclick="TestCalc(this.form)" /></p></form></fieldset><div id="wynik-kalk"></div><p>&nbsp;</p><h5 style="margin-left: 60px;">Źródła LED to najtańsze rozwiazanie dla firm!</h5>

kod javascript (dla testu jest to tylko suma):

function TestCalc (form) {
var lampy = form.lampy.value;
var godziny_dobowe = form.dobowe.value;
var godziny_tygodniowo = form.tygodniowe.value;

var lampy1 = new String(lampy);
var godziny_dobowe1 = new String (godziny_dobowe);
var godziny_tygodniowo1 = new String (godziny_tygodniowo);


var suma = Number(lampy1) + Number(godziny_dobowe1) + Number(godziny_tygodniowo);
document.getElementById('policz').innerHTML = suma;
TestCalc.preventDefault();
};


Próbowałem robić już różne myki, przeszukałem pół internetu, ale przyklady sa malo jasne i naprawde ciezko cokolwiek mi wyczarowac...

podglad:
http://led.testy.adrianfurman.pl/

kalkulator na samym dole

KES
18-07-2013, 11:36
Poczytaj o Ajax w drugiej części internetu.
możesz użyć bibliotek jQuery ( wbudowana w Joomla 3 ), Mootools ( od zawsze w Joomla )

lady
19-07-2013, 14:06
Dzięki za pomoc, również miałam problem :)

kikutnik666
24-07-2013, 18:03
a ja problem nadal mam...

mam prosbe- czy ktos moze zrobic to i okrasic to komentarzami lub wytlumaczyc mi zasade dzialania?
chce nauczyc sie tego sam robic, by nie zawracac glowy pozniej- chodzi tu o formularz, 3 pola, i wyswietlenie ich sumy po kliknieciu przycisku "policz" w miejscu formularza.
Chodzi tu o zasade dzialania- nie wiem co i jak...