Javascript как получить вход

1

Для школы мне нужно сделать конвертер валют.

    <!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, так что может кто-нибудь мне помочь?

  • 1
    У вас нет элемента с идентификатором "bedrag". У вас есть <input> с именем "bedrag", но атрибуты name и id различны.
  • 0
    Также document.write() - неправильный способ показать результаты. Вызов document.write() после загрузки страницы полностью перезапишет весь DOM.
Показать ещё 1 комментарий
Теги:
currency
converters

3 ответа

0
Лучший ответ

используйте эту строку в скрипте,

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>
  • 0
    Добро пожаловать, рад, что это помогает вам.
0
<input type="text" name="bedrag" placeholder="Vul bedrag in" />

Перейдите к этой строке и повторите попытку:

<input type="text" id="bedrag" placeholder="Vul bedrag in" />

Вы можете использовать console.log(bedrag), чтобы проверить, правильно ли зафиксировано значение.

0

Замените атрибут имени на входе с идентификатором, как в

<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>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню