Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] jak zliczyć wartość i wyświetlić?
dwwa
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 14.09.2011

Ostrzeżenie: (0%)
-----


mam prosty skrypt w jquery, która ma zsumować 2 pola z formularza i jak dam w funkcji jquery takie coś:

alert(pole1+pole2);

to działa, a teraz chcę zrobić żeby po kliknięciu w submit pokazała się pod formularzem suma dwóch pół o których mowa, ale nie wiem jakiej funkcji jQuery do tego użyć... chodzi mi o samo wyświetlanie tekstu po kliknięciu, tak jak w php echo jest ;d
  1. <script type="text/javascript">
  2.  
  3. $(document).ready(
  4. function() {
  5. $("#count").click(function() {
  6. var total = 0;
  7. var weight = parseFloat($("#weight").attr('value'));
  8. var height = parseFloat($("#height").attr('value'));
  9. if (!weight || !height) {
  10. alert('Wypełnij wszystkie pola');
  11. return false;
  12. }
  13. var total = ((weight)/((height * weight)/10000));
  14.  
  15. // pokaz total
  16. $("#result").JAKAFUNKCJA(total);
  17.  
  18. });
  19. }
  20. )
  21.  
  22. </script>

  1. <form id="formularz" name="" method="post">
  2. pole1: <input type="text" name="weight" id="weight" />
  3. pole2: <input type="text" name="height" id="height" />
  4. <input type="submit" value="oblicz" name="" id="count" /><br />
  5. <div id="result" style="display: none;">tutaj suma</div>
  6. </form>

wiem że to prosta sprawa ;d z góry dzięki za pomoc.

Ten post edytował dwwa 25.10.2011, 11:22:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Kod
jQuery('#iddivadoktoregocheszwpisac').html('to co chcesz wpisac a na przyszlosc czytaj dokumentacje, skoro juz uzywasz jquery');


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dwwa
post
Post #3





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 14.09.2011

Ostrzeżenie: (0%)
-----


ok, niby działa, problem w tym, że od razu znika mi ten tekst ;d po 0,1 sek. biggrin.gif co może być nie tak?
  1. $("#message").html(message);
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No jesli pokazujesz to na submicie to nic dziwnego ze znika, skoro submit wysyla formularz czyli de facto przładowuje strone smile.gif
Skoro nie chcesz wysyłać forma to daj na submicie w onlick jeszcze return false;


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dwwa
post
Post #5





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 14.09.2011

Ostrzeżenie: (0%)
-----


ok, działa, a możesz mi powiedzieć czemu wyskakuje mi "NaN" jak nie podam żadnych wartości w polach formularza?
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A skad ja mam wiedziec jak ty te dane pobierasz? No wrozyc mam?

No dobra, wróże:
uzywasz parseInt lub czegoś podobnego i logiczne, ze jak nie ma zadnej wartosci to funkcja nie ma co parsowac i pluje błędem


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dwwa
post
Post #7





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 14.09.2011

Ostrzeżenie: (0%)
-----


var weight = parseFloat($("#weight").attr('value'));
var height = parseFloat($("#height").attr('value'));

było wyżej przecież biggrin.gif

jak temu zapobiec?
Go to the top of the page
+Quote Post
konrados
post
Post #8





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


No sprawdź wcześniej, przed parseFloat czy wartość nie jest pusta, takie coś powinno zadziałać:

  1. if($("#weight").attr('value') == "") {
  2. alert('wpisz wartości');
  3. return false;
  4. }


Ten post edytował konrados 25.10.2011, 11:45:06
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
było wyżej przecież
ślepne na starość sad.gif ale wróżę dobrze biggrin.gif
Powód edycji: [nospor]:


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dwwa
post
Post #10





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 14.09.2011

Ostrzeżenie: (0%)
-----


działa, a czemu mam tak, że jak wprowadzę jakieś dane do pól i kliknę na submit, a później zmienię dane w polu pierwszym, to po kliknięciu na submit nic się nie dzieje? dopiero jak wprowadzę dane do pola 1 i pola 2 i kliknę submit to jest ok.

a nie, dzieje się tak tylko z polem 1.

Ten post edytował dwwa 25.10.2011, 11:51:52
Go to the top of the page
+Quote Post
konrados
post
Post #11





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


Ale co dokładnie "nie działa"? Zauważyłeś, że sprawdzałem tylko weight, winno być raczej:

if($("#weight").attr('value') == "" || $("#height").attr('value') == "")...

A w ogóle to:

1. umieść to gdzieś w sieci
2. zainstaluj sobie firebuga
Go to the top of the page
+Quote Post
dwwa
post
Post #12





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 14.09.2011

Ostrzeżenie: (0%)
-----


  1. <script type="text/javascript">
  2.  
  3. $(document).ready(
  4. function() {
  5. $("#count").click(function() {
  6. var total = 0;
  7. var weight = $("#weight").attr('value');
  8. var height = $("#height").attr('value');
  9.  
  10. if (weight == "" || height == "") {
  11. message = "Wypełnij wszystkie pola";
  12. }
  13. else {
  14. var weight = parseFloat(weight);
  15. var height = parseFloat(height);
  16. }
  17.  
  18. var total = ((weight)/((height * weight)/10000));
  19.  
  20.  
  21. $("#result").html(total.toFixed(3));
  22. $("#message").html(message);
  23. return false;
  24. });
  25. }
  26. )
  27.  
  28. </script>

coś takiego mam i teraz jak wprowadzę w pole 1 wartość np. 50, a w pole 2 wprowadzę 150 wyskakuje mi jakiś tam wynik i teraz jak w pole 1 wpiszę np. 10 wynik jest taki sam, tak jakby nic się nie działo, jak wprowadzę jakąś inną wartość w pole 2 i kliknę w submita to jest ok..

nie mam gdzie tego wrzucić...
Go to the top of the page
+Quote Post
konrados
post
Post #13





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


No wynik jest taki sam, bo tak wynika z Twojego wzoru:

var total = ((weight)/((height * weight)/10000));

cokolwiek podstawisz za weight, jeśli nie zmienisz height no to tak sobie myślę, że wynik uzyskasz identyczny:)

Co Ty tam w ogóle obliczasz?
Go to the top of the page
+Quote Post
dwwa
post
Post #14





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 14.09.2011

Ostrzeżenie: (0%)
-----


nieważne co biggrin.gif to nie jest istotne

ciągle wyskakuje mi ten "NaN" :/
Go to the top of the page
+Quote Post
konrados
post
Post #15





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

Ostrzeżenie: (0%)
-----


No a spójrz na ten fragment:

if (weight == "" || height == "") {
message = "Wypełnij wszystkie pola";
}

Czy on zapobiega temu, że potem robisz

var total = ((weight)/((height * weight)/10000));

?

Tak więc zrób return w tym warunku, np:


  1. if (weight == "" || height == "") {
  2. $("#message").html('Wypełnij wszystkie pola');
  3. return false;
  4. }

Go to the top of the page
+Quote Post
dwwa
post
Post #16





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 14.09.2011

Ostrzeżenie: (0%)
-----


o to chodziło wink.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 00:02