Nagyon egyszerű JavaScript feladatban tudnátok segniteni?
Már egy óraja nezegetem neten mit hogy kéne, de nem akar mukodni a programom, és ezen mulik a jobb jegyem.. A feladat:
Készítsen egy weboldalt, amin szerepel egy beviteli mező és egy gomb.
A beviteli mezőbe beírunk egy számot. Ha a gombra kattintunk, akkor íródjon ki a számok öszege 1-a beírt számig.
és ez az én kódóm eddig, de tuti tele van felesleges dolgokkal. Nagyon örülnék ha valaki megtudná nekem irni:(
<!doctype html>
<html lang="hu">
<head>
<meta charset="utf-8">
<title>Dolgozat</title>
</head>
<body>
<form>
<input type="text" id="aszám">
<button onclick="formdata()">XD</button>
</form>
<p id="demo"></p>
<script>
function formdata()
{
var szám = document.getElementById("aszám").value;
document.getElementById("demo").innerHTML = szám;
}
</script>
<p id="demo"></p>
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
0. Tessék kódmegosztó oldalt - pastebin, hastebin, ghostbin, jsbin, jsfiddle,... - használni, az megtartja az indentálásokat (a sorok behúzását), alkalmaz kódszínezést, szóval áttekinthetőbb.
1. A <form> tag jelen helyzetben felesleges, nem küldünk adatot szerveroldali kódnak.
2. Bár a HTML5-szabványa nem tiltja:
de javasolt elkerülni az ékezeteket az id attribútumban.
3. Ugyanez a helyzet Javascript esetén - bár az EcmaScript 2015 már megengedi az ékezeteket a változók nevében,
de javasolt megmaradni az ASCII-karakterkészletnél.
4. A "demo" azonosítójú bekezdést elég egyszer létrehozni - mondjuk a gomb után.
5. És tessék lezárni a <body> és <html> elemeket.
6. Nem a beviteli mezőt kell visszaadni, hanem az 1 és a szám közötti intervallumban levő számok összegét.
Ezt az alábbi módon teheted meg:
6/0. amikor rákattintanak a gombra, egy változóba bekéred a beviteli mező értékét számmá átalakítva (a value tulajdonság használata rendben, csak át kell alakítani számmá: var szam = parseInt(document.getElementById('aszam').value);)
6/1. létrehozol egy változót, amibe eltárolod az összeget - kezdetben adsz neki egy 0-ás értéket inicializálásul.
6/2a. "Nyers erő" alkalmazásával: vagy egy ciklussal végigiterálsz 1-től a számig és a ciklusváltozót (nevezzük most i-nek) hozzáadod az összeghez (osszeg = osszeg + i)
6/2b. Kicsit gondolkodva: vagy alkalmazod a számtani sorozat összegének képletét: [link]
6/3. A "demo" azonosítójú elemnek visszaadod az összeg (nem a szam!) változó értékét.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Jelen esetedben azért nem működik, mert a gombhoz hozzá kell adni egy type="button"-t, sajátos HTML fa**ság.
Egyébként meg nagyon erősen ajánlott elkerülni az ékezetes változó/id stb neveket. Illetve input type="number" legyen, ha kifejezetten szám kell.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
"Ha a gombra kattintunk, akkor íródjon ki a számok öszege 1-a beírt számig."
Ezt kicsit kifejthetnéd jobban, mert vagy én vagyok brutál fáradt, vagy tényleg értelmezhetetlen.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
"Jelen esetedben azért nem működik, mert a gombhoz hozzá kell adni egy type="button"-t, sajátos HTML fa**ság."
A <button> elemhez nem "kell" hozzáadni a type attribútumot "button" értékkel, csak akkor, ha megtartjuk a <form> elemet - de ez utóbbi szanálható, nem szükséges, nem küldünk adatot szerveroldali kódnak.
"Ezt kicsit kifejthetnéd jobban, mert vagy én vagyok brutál fáradt, vagy tényleg értelmezhetetlen."
Az 1...bekért szám intervallumban kell a számok összegét visszaadni.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
További kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!