Kezdőoldal » Számítástechnika » Programozás » Javascriptbe itt mit rontottam...

Javascriptbe itt mit rontottam el?

Figyelt kérdés

Nagyon kezdo vagyok meg HTML-be is, nemhogy javascriptbe ugyhogy kerlek legyetek turelmesek, ha valami nagy baromsagot irtam. Szoval egy egyszeru programot akartam csinalni, ami annyibol all, hogy beirok par szavat, teljesen mindegy milyet, es a beirt szavak kozul random kiir egyet. Itt van a program:


<html>

<head>

</head>

<body>


<script>


var a = 0;

var nevek = [];


function gomb(){

var szo = document.getElementById("inp1").value;

nevek.push(szo);

a+=1;

document.getElementById("demo").innerHTML = a;

document.getElementById("inp1").innerHTML = "<input id='inputalas' value=''>";

}

function mondat(){

var randomSzam = Math.floor(Math.random() * a);

document.getElementById("demo2").innerHTML = nevek[randomSzam];

}

</script>


<p id="inp1"><input id="inputalas"></p>


<button onclick="gomb()">Katt ide</button>

<button onclick="mondat()">Mondat alkotas</button>


<p id="demo"></p>

<p id="demo2"></p>


<script>


</script>

</body>

</html>



Valaszokat elore is koszonom. :)



2017. júl. 21. 18:58
 1/5 anonim ***** válasza:
Talán String és Integer nem kompatibilis.
2017. júl. 21. 19:00
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
Mondtam kezdo vagyok, ebbol semmit se ertek, kerlek ird le helyesen es magyarazd el reszletesen :) megkoszonnem
2017. júl. 21. 19:05
 3/5 A kérdező kommentje:
az elejen a programnak kicsit fura, az akar lenni, hogy var nevek = [ ]; kicsit ossze van futva
2017. júl. 21. 19:05
 4/5 anonim ***** válasza:

A fő - működésbeli problémát okozó - gond az alábbi sor:

var szo = document.getElementById("inp1").value;

ezzel az a gond, hogy az "inp1" azonosítójú elem egy bekezdés, aminek nincs value tulajdonsága, így a "Katt ide" gombra kattintáskor a szo változó értéke undefinied lesz, és az kerül be a tömbbe.


Ha ezt lecseréled erre:

var szo = document.getElementById("inputalas").value;

akkor e beviteli mező értékét fogja tartalmazni a szo változó.


Egy másik - bár marginálisabb, de csúnya - gond, hogy az "a" változó felesleges. Helyette ott a nevek tömb length tulajdonsága.


A harmadik probléma az alábbival van:

document.getElementById("inp1").innerHTML = "<input id='inputalas' value=''>";

helyette sokkal szebb:

document.getElementById("inputalas").value = '';


Szóval valahogy így:

[link]

2017. júl. 21. 20:13
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:
Nagyon szepen koszonom a kielegito valaszt :D
2017. júl. 21. 20:32

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!