
Oprava JS kódu
Ahoj, můžete mi prosím poradit proč tohle nefunguje?
<form id="form" action="/">
<input type="button" value="a">
<input type="button" value="b">
<input type="button" value="c">
</form>
<script>
document.addEventListener('click', function (str) {
if ( str === 'a' ) console.log('Bylo kliknuto na tlačítko 'a');
else if ( str === 'b' ) console.log('Bylo kliknuto na tlačítko 'b');
else if ( str === 'c' ) console.log('Bylo kliknuto na tlačítko 'c');
});
</script>
Nikoli. Kdybys použil debugger, nebo rovnou console.log(str), zjistíš, že typ proměnné str je Event, případně element formuláře, (takže text se získá str.value)
a není náhodou lepší místo té ifové mašinérie použít switch nebo rovnou sprintf, když je to pokaždé stejné? Tahle procedurálnost postrádá smysl.