• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Formularze - Javascript

Object Storage Arubacloud
0 głosów
556 wizyt
pytanie zadane 6 listopada 2016 w JavaScript przez dewe Gaduła (4,300 p.)

Witam :) Mam pytanko.

Dajmy na to, że robię jakiś tam mały programik webowy.

I potrzebuję aby użytkownik wpisał dane wejściowe w polach input to w jaki sposób wysłać ten formularz aby wyświetliły się dane wyjściowe?

Trzeba po prostu zrobić formularz i przechwycić dane z pól input, zapobiec faktycznemu wysłaniu formularza tak aby strona się nie odświeżała?

Coś tego typu:

	<script type="text/javascript">
	
	document.getElementById('formularz').addEventListener('submit', function(event) {
	event.preventDefault(); // zapobiegaj rzeczywistemu wysłaniu
	}, false);
	
	function main()
	{
		var liczba1 = document.getElementById("pierwsza");
		var liczba2 = document.getElementById("druga");
		var liczba3 = document.getElementById("trzecia");
		var liczba4 = document.getElementById("czwarta");
		var suma;
		
		suma = Number(liczba1.value) + Number(liczba2.value) + Number(liczba3.value) + Number(liczba4.value);
		document.getElementById("result").innerHTML = suma; 
		if (isNaN (Number(liczba1.value)) || isNaN(Number(liczba2.value)) || isNaN(Number(liczba3.value)) || isNaN(Number(liczba4.value))) { document.getElementById("result").innerHTML = "Wpisałeś błędne dane."; }
	}
		
	</script>



Czy są jakieś inne sposoby, łatwiejsze i wygodniejsze? :)

2 odpowiedzi

0 głosów
odpowiedź 6 listopada 2016 przez Czort Nałogowiec (32,500 p.)
To co napisałeś raczej nie trzyma się kupy. Do EventListener powinieneś przekazać swoją funkcję main a preventDefault() umieścić wewnątrz main().
1
komentarz 6 listopada 2016 przez Magicone Nałogowiec (45,100 p.)
Po co? Zadeklarował funkcję w locie.
1
komentarz 6 listopada 2016 przez Czort Nałogowiec (32,500 p.)
Nie sprawdzałem czy ten kod działa. Czyli EventListener się domyśli, żeby wywołać main() ?
komentarz 6 listopada 2016 przez dewe Gaduła (4,300 p.)
Proszę tutaj livedemo jak to działa:

http://mateuszwagner.pl/dodawanie.html
komentarz 6 listopada 2016 przez Magicone Nałogowiec (45,100 p.)
W ogóle jaki main? Nie pomyliłeś języków przypadkiem? Wewnątrz eventListenera jest handler, który obsługuje zdarzenie, po prostu.
1
komentarz 6 listopada 2016 przez xmentor Nałogowiec (49,520 p.)
document.getElementById('formularz').addEventListener('submit', function(event) {
event.preventDefault(); // zapobiegaj rzeczywistemu wysłaniu
}, false);
 
function main()
{
    var liczba1 = document.getElementById("pierwsza");
    var liczba2 = document.getElementById("druga");
    var liczba3 = document.getElementById("trzecia");
    var liczba4 = document.getElementById("czwarta");
    var suma;
     
    suma = Number(liczba1.value) + Number(liczba2.value) + Number(liczba3.value) + Number(liczba4.value);
    document.getElementById("result").innerHTML = suma; 
    if (isNaN (Number(liczba1.value)) || isNaN(Number(liczba2.value)) || isNaN(Number(liczba3.value)) || isNaN(Number(liczba4.value))) { document.getElementById("result").innerHTML = "Wpisałeś błędne dane."; }
}   

O ten main chodzi.

Kolega zablokował defaultową akcje submita, a funkcje main przypiął atrybutem onClick - trochę tak dziwnie.

komentarz 6 listopada 2016 przez Czort Nałogowiec (32,500 p.)

Chodziło mi o coś takiego:

costam.addEventListener("submit", main, false)

Z kodu który podał na początku nie domyśliłem się jak to miał rozwiązane.

komentarz 6 listopada 2016 przez dewe Gaduła (4,300 p.)
Nazwałem sobie po prostu funkcję jako main.

Ten kod to mój całkowicie pierwszy kod w JS, uczę się dopiero :)
0 głosów
odpowiedź 6 listopada 2016 przez Magicone Nałogowiec (45,100 p.)

Służy ku temu klasa FormData, złapać dane z formularza możesz np. w ten sposób.

Podobne pytania

–6 głosów
0 odpowiedzi 1,806 wizyt
pytanie zadane 21 grudnia 2017 w JavaScript przez karolesm Nowicjusz (120 p.)
0 głosów
1 odpowiedź 271 wizyt
0 głosów
0 odpowiedzi 69 wizyt
pytanie zadane 21 września 2020 w JavaScript przez michal_php Stary wyjadacz (13,700 p.)

92,579 zapytań

141,432 odpowiedzi

319,657 komentarzy

61,963 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...