Javascript HTML-функция ввода кнопки ввода - PullRequest
0 голосов
/ 02 июля 2018

Я борюсь со следующей задачей.

получил функцию JavaScript:

function dec2bin(dec){

    return (dec >>> 0).toString(2);

}

мой HTML должен выглядеть так: - одно поле ввода для параметра «dec». - одна кнопка «рассчитать» для запуска функции dec2bin <- параметр должен быть взят из поля ввода, упомянутого выше. - одно поле ввода (вывода) для отображения результата после ввода числа в поле ввода и нажатия кнопки. </p>

Я понятия не имею, почему это не работает, но я думаю, что проблема находится в одной или обеих отмеченных "***" строках:

***<input type="text" id="input" value="input"/>***
<input type=button id="button1" value="calculate" onclick="dec2bin('input');"/>
<p id = "output"></p>

<script type="text/javascript">
function dec2bin(dec){

    return (dec >>> 0).toString(2);

}
***document.getElementById("output").innerHTML = dec2bin(document.getElementById("input").innerHTML);***
</script>

спасибо!

1 Ответ

0 голосов
/ 02 июля 2018

Я думаю, что вы использовали этот пример в качестве основы вашего кода.

Разница здесь в том, что вам нужно дождаться, пока пользователь нажмет кнопку .

Что ваш код делает прямо сейчас вызывает dec2bin('input') каждый раз, когда пользователь нажимает кнопку, но этот метод выполняет только вычисления. Строка, которая заполняет ваш output, является второй отмеченной «***» строкой, но она выполняется только при загрузке страницы.

Таким образом, вместо document.getElementById("output").innerHTML = dec2bin(document.getElementById("input").value); при загрузке страницы, вам нужно обернуть ее функцией и использовать ее, когда пользователь нажимает button1.

Итак, два ключевых момента:

Обтяните строку, получите значение input и заполните output

function convertUserInput(id) {
    document.getElementById("output").innerHTML = dec2bin(document.getElementById(id).value);
}

Используйте функцию в качестве обработчика onclick

<input type=button id="button1" value="calculate" onclick="convertUserInput('input');"/>

Obs: ИМО лучше использовать value вместо innerHTML, когда речь идет о input элементах.

...