Для школы мне нужно сделать конвертер валют.
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8" />
<title>Lab 10</title>
<script src="lab10script.js"></script>
</head>
<body>
<form name="form">
<input type="text" name="bedrag" placeholder="Vul bedrag in" />
<select id="list">
<option>dollar/euro</option>
<option>euro/dollar</option>
<option>ruble/euro</option>
<option>euro/ruble</option>
</select>
<<button type="button" onclick="myFunction()">Exchange</button>
</form>
</body>
</html>
function myFunction() {
var bedrag = document.getElementById("bedrag");
var x = document.getElementById("list").selectedIndex;
if (x == 0) { return (document.write("<br>test" + bedrag)); }
else { return (document.write("<br>test" + bedrag)); }
}
Моя проблема в том, что когда я делаю число вроде 8, он говорит "null", я изучаю JavaScript, так что может кто-нибудь мне помочь?
используйте эту строку в скрипте,
var bedrag = document.getElementById("bedrag").value;
вместо,
var bedrag = document.getElementById("bedrag");
и добавьте id="bedrag"
на input
, потому что вы получаете доступ к элементу по id
function myFunction() {
var bedrag = document.getElementById("bedrag").value;
var x = document.getElementById("list").selectedIndex;
if (x == 0) { return (document.write("<br>test" + bedrag)); }
else { return (document.write("<br>test" + bedrag)); }
}
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8" />
<title>Lab 10</title>
<script src="lab10script.js"></script>
</head>
<body>
<form name="form">
<input type="text" name="bedrag" id="bedrag" placeholder="Vul bedrag in" />
<select id="list">
<option>dollar/euro</option>
<option>euro/dollar</option>
<option>ruble/euro</option>
<option>euro/ruble</option>
</select>
<button type="button" onclick="myFunction()">Exchange</button>
</form>
</body>
</html>
<input type="text" name="bedrag" placeholder="Vul bedrag in" />
Перейдите к этой строке и повторите попытку:
<input type="text" id="bedrag" placeholder="Vul bedrag in" />
Вы можете использовать console.log(bedrag), чтобы проверить, правильно ли зафиксировано значение.
Замените атрибут имени на входе с идентификатором, как в
<input type="text" name="bedrag" placeholder="Vul bedrag in" />
Должен стать
<input type="text" id="bedrag" placeholder="Vul bedrag in" />
Я не уверен, но из вопроса и кода кажется, что вы только пытаетесь отобразить введенное значение. В этом случае попробуйте код ниже:
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8" />
<title>Lab 10</title>
<script src="lab10script.js"></script>
</head>
<body>
<form name="form">
<input type="text" id="bedrag" placeholder="Vul bedrag in" />
<select id="list">
<option>dollar/euro</option>
<option>euro/dollar</option>
<option>ruble/euro</option>
<option>euro/ruble</option>
</select>
<button type="button" onclick="myFunction()">Exchange</button>
</form>
<script>
function myFunction() {
var bedrag = document.getElementById("bedrag").value;
var x = document.getElementById("list").selectedIndex;
if (x == 0) {
//log the value to console and verify the value
console.log("<br>test" + bedrag);
}
else {
console.log("<br>test" + bedrag);
}
}
</script>
</body>
</html>
<input>
с именем "bedrag", но атрибуты name и id различны.document.write()
- неправильный способ показать результаты. Вызовdocument.write()
после загрузки страницы полностью перезапишет весь DOM.