2016-10-07 5 views
0

В настоящее время я работаю над небольшой задачей программирования для школы. Я выбрал задачу, потому что у меня возникла идея, как получить ядро ​​программы, запущенной на Java, но у меня возникают проблемы с переводом этого на очень простую веб-страницу, без опыта работы с HTML или JS.Передача переменной функции JS из HTML

Моя проблема: я получаю ввод через кнопку. При щелчке вызывается функция, и эта функция получает значение ввода. Тем не менее, все, что я получаю, как окно предупреждения, - objectHTMLinputElement. Что я делаю не так?

function myRT() { 
 
    var risikoTraeger=document.getElementById('input1').value; 
 
} 
 

 
function myRH() { 
 
    var risikoHoehe = parseInt(document.getElementById('input2')).value; 
 
    alert(input2); 
 
}
<h1>Siemens: Risikoassessment</h1> 
 

 
<p id="demo">How many entries?</p> 
 

 
<input type="text" id="input1" /> 
 
<button type="button" onclick="myRT()">Risk carrier</button> 
 
<input type="text" id="input2" /> 
 
<button type="button" onclick="myRH()">Sum of the risk</button>

+0

Спасибо, я получил его! – someones49th

ответ

3

Получить значение ввода перед его анализом. Кроме того, вы предупреждаете элемент ввода вместо переменной, которой вы устанавливаете значение. Использование:

function myRH(){ 
    var risikoHoehe = parseInt(document.getElementById('input2').value); 
    alert(risikoHoehe); 
} 
0

Изменить эту часть parseInt(document.getElementById('input2')).value; как:

parseInt(document.getElementById('input2').value) 
0

Вы называете неправильную переменную, попробуйте 'risikoHoehe' вместо 'input2':

function myRT() { 
    var risikoTraeger=document.getElementById('input1').value; 
} 

function myRH(){ 
    var risikoHoehe = document.getElementById('input2').value; 
    alert(risikoHoehe); 
} 
0

1) Вы пытаются разобрать элемент DOM на int, поэтому он возвращает undefined.

Использование document.getElementById('input2').value.

2) Используйте ParseInt только в случае необходимости, если его только для оповещения, то вы можете пропустить его

3) Вы не можете напрямую обратиться к элементу йот по идентификатору, вы должны получить этот элемент в переменной, а затем используй это.

alert(input2); должен быть alert(risikoHoehe);

0

Ну, вот полный рабочий код-

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<script type="text/javascript"> 
 
function myRT() { 
 
var risikoTraeger=document.getElementById('input1').value; 
 
    alert(risikoTraeger); 
 
} 
 

 
function myRH(){ 
 
var risikoHoehe = parseInt(document.getElementById('input2').value); 
 
alert(risikoHoehe); 
 
} 
 
</script> 
 
</head> 
 

 
<body> 
 

 
<h1>Siemens: Risikoassessment</h1> 
 

 
<p id="demo">How many entries?</p> 
 

 
<input type="text" id="input1" /> 
 
<button type="button" onclick="myRT()">Risk carrier</button> 
 
    </br> 
 
<input type="text" id="input2" /> 
 
<button type="button" onclick="myRH()">Sum of the risk</button> 
 

 
</body> 
 
</html>

Надеясь это поможет :)

0

Давайте посмотрим, что вы делаете неправильно:

var risikoHoehe = parseInt(document.getElementById('input2')).value; 

документ
сам документ
getElementById()
функция, которая дает нам элемент, который имеет специфический параметр ID
'input2'
Идентификационный номер нужного ввода
.значение
значение элемента, если оно есть.
parseInt()
Функция, которая преобразует любую строку в ее целочисленное значение.

теперь рассмотрим здесь:

  • document.getElementById ('Input2') => входной элемент сам по себе (objectHTMLInputElement)

  • ParseInt (objectHTMLInputElement) = > что мы можем получить, если попытаемся преобразовать элемент ввода html в целое число?

  • (целое число) .значение => Целые значения имеют значение свойства?

Но если вы пишете так:

var risikoHoehe = parseInt(document.getElementById('input2').value); 
  • document.getElementById ('Input2') => входной сам элемент (objectHTMLInputElement)

  • objectHTMLInputElement.value => значение ввода как строка

  • ParseInt (строка) => Разбираем целое значение строки

Смежные вопросы