Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czemu wynik znika ze strony?
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
finito
Ten kod właściwie działa i nie wyskakują żadne błędy (testowałem w firefoxie), ale wynik pojawia się tylko przez ułamek sekundy i zaraz potem znika. Wie ktoś może czemu tak się dzieje?
  1. <script type="text/javascript">
  2.  
  3.  
  4. function suma_el(){
  5. var pole_tekstowe = document.forms['form'].t.value.split(',');
  6.  
  7. var div1 = document.createElement("div");
  8. var textNode = document.createTextNode("Tablica: ");
  9. div1.appendChild(textNode);
  10.  
  11. var suma = 0;
  12. var f = funkcja(pole_tekstowe);
  13. function funkcja(pole_tekstowe)
  14. {
  15. for (var i=0;i<pole_tekstowe.length;i++)
  16. {
  17.  
  18. suma = suma + parseFloat(pole_tekstowe[i]);
  19. }
  20. return suma;
  21. }
  22. document.getElementById("suma").appendChild(div1);
  23. div1.innerHTML = f;
  24. }
  25.  
  26. </script>
  27.  
  28. </head>
  29. <body>
  30. <div id="suma">
  31. <p>Suma elementów wynosi: </p>
  32. <form id="form">
  33. <input type="text" name="t">
  34. <button onclick="return suma_el()">button</button>
  35. </form>
  36.  
  37. </div>
  38.  
  39.  
  40. </body>
  41. </html>
sf
Bo wysyłasz formularz. Daj na końcu funkcji return false. Ewentualnie do button dodaj type="button".
finito
Dodałem return false i działa, ale nie bardzo rozumiem dlaczego musi być to return false. Tzn. nie bardzo wiem co ono daje względem tego kodu.
sf
Wciśnięcie guziku "Button" powoduje wysłanie formularza bo domyślnie jest typu "submit". Jak wysyłasz formularz to strona się odświeża czyli wszystko znika co zrobiłeś wcześniej. Prosto to zauważyć bo zmienia Ci się adres pod którym uruchamiałeś stronę. Dodanie false powoduje przerwanie wysłania skryptu, dla przykładu inny kod:

<a href="http://www.gazetapl" onclick="return false;">nie zostaniesz przeniesiony jak klikniesz</a>
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.