#javascript
Вопрос:
я застрял, пытаясь перевести ноги в мили. вот мой код до сих пор:
function convertData() {
var distance = document.getElementById('distance').innerHTML;
var mile = 5280;
var result = distance /mile;
document.getElementById('distance').innerHTML = resu<
};
и, исходя из ответа здесь, я пытаюсь реализовать это в
document.getElementById пометьте в начале документа, найденного здесь..
<input type="button" value='Convert to Miles' onclick="convertData();">
<input id="distance" type="number" value=453454>
..поэтому, когда пользователь нажимает эту кнопку, данные преобразуются.
это строка по умолчанию, когда пользователь открывает страницу с первой попытки:
какие-нибудь советы или мысли?
Ответ №1:
function convertData() {
var distance = document.getElementById('distance').value;
var mile = 5280;
var result = distance / mile;
document.getElementById('answer').innerHTML = resu<
};
<div id="answer"></div>
<input type="button" value='Convert to Miles' onclick="convertData();">
<input id="distance" type="number" value=453454>
Я буду рекомендовать отобразить ответ в другом элементе и оставить ввод свободным для пользователя, чтобы он мог вносить изменения.
Ответ №2:
самый простой способ
входные данные html с a type=number
обладают valueAsNumber
свойством прямой обработки их числового значения.
(Существует также valueAsDate
для тех type=date
, кто )
const
distance_el = document.getElementById('distance')
, mile = 5280
;
function convertData()
{
distance_el.valueAsNumber /= mile
}
<input type="button" value="Convert to Miles" onclick="convertData();">
<input id="distance" type="number" value="453454">
Ответ №3:
Вы должны получать/устанавливать свойство ввода value
, а не innerHTML
.
innerHTML
Свойство используется для возврата HTML-содержимого элемента, в то время value
как свойство используется для возврата значения текстового поля.
function convertData() {
var distance = document.getElementById('distance').value;
var mile = 5280;
var result = distance / mile;
document.getElementById('distance').value = resu<
};
<input type="button" value='Convert to Miles' onclick="convertData();">
<input id="distance" type="number" value=453454>
Упрощенная версия:
function convertData(t) {
t.nextElementSibling.value = t.nextElementSibling.value/5280;
};
<input type="button" value='Convert to Miles' onclick="convertData(this);">
<input id="distance" type="number" value=453454>
Комментарии:
1. также ему может понадобиться функция parseInt()
2. Хорошо, спасибо, ребята. все предложения сработали. Однако знаете ли вы, ребята, как очистить поле ввода, как только кто-то вводит номер?