Kezdőoldal » Számítástechnika » Weblapkészítés » JavaScriptben szeretnék egy...

JavaScriptben szeretnék egy hatványozásos programot készíteni, de az éerték folyton NaN. Biztos, fhogy jól érzékeli a gombot, meg a többi inputot. Valami más hibatikája van! (Ez a második js "programom".) Hogy lehetne ezt megoldani?

Figyelt kérdés

A kód:

const alap = document.getElementById('alap')

const kitevo = document.getElementById('kitevo')

const calcB = document.getElementById('calculate')

const output = document.getElementById('answer')


let answer = "0"

output.value = answer


let value = eval(alap.value)

let modifier = eval(kitevo.value)


function calculate() {

answer = eval(answer)

answer = value **= modifier

output.value = answer

}


calcB.addEventListener('click', calculate())



2023. szept. 17. 13:51
 1/5 anonim ***** válasza:

"A kód:"


És a többi?

2023. szept. 17. 15:27
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:

Sok hiba van a kódban (*-gal jelölve a fontosabb részeket):

- a calculate szót használod id-nek is és függvény névnek is

-* addEventListener -nél a függvényt meghívod, ed csak a nevét kéne átadni

- az eval nem kell (de ez nem okoz gondot egyébként, viszont nem jó ötlet használni, mert ha inputnak javascript kódot ad meg valaki, akkor az gáz lesz, mert lefuttatja)

-* az inputok értékét csak egyszer kéred le, amikor először lefut a script. Ezeket minden gombnyomáskor lekéne kérni, hogy a friss eredménnyel tudjon számolni

-* answer = value **= modifier sorban a ** után nem kell az = jel

(- kiszedtem az eredmény 0-ra beállítását induláskor)


Azt hiszem talán ennyi, ha esetleg kihagytam volna valamit akkor itt hagyom a működő verziót:


<!DOCTYPE html>

<html>

<head>

<title>Example</title>

</head>

<body>

<input id='alap'></input>

<input id='kitevo'></input>

<button id='calculate'>calc</button>

<input id='answer'></input>


<script>

const alap = document.getElementById('alap')

const kitevo = document.getElementById('kitevo')

const calcB = document.getElementById('calculate')

const output = document.getElementById('answer')


function calculate_fn() {

let value = alap.value

let modifier = kitevo.value

answer = value ** modifier

output.value = answer

}

calcB.addEventListener('click', calculate_fn)

</script>

</body>

</html>

2023. szept. 17. 16:06
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:
[link] 🙃
2023. szept. 17. 16:40
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:
Nagyon szépen köszm a válaszokat! :)
2023. szept. 17. 18:34
 5/5 anonim ***** válasza:

A bemenő értékek ellenőrzésével:

[link]

2023. szept. 18. 14:11
Hasznos számodra ez a válasz?

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!