2015-06-16 1 views
0

Я хотел, чтобы уравнение принимало пользовательский ввод и давало ответ на основе результата. Уравнение работает очень хорошо, я не могу заставить его ничего печатать. Например, ответ 10, и он печатает 10 вместе с комментарием. Возможно, это то, что я просматриваю, или мой код может быть ужасно неправильным. Помогите?Использование document.getElementById для ввода текстовых полей

<html> 
<body> 

    Total=3.21+9.63 x S //equation 
    <form id="function" onsubmit="return false" oninput="o.value = 3.21 + (9.63 *parseInt(c.value))"> 
     =3.21+(9.63 * 
     <input name="c" type="number" step="any">) = 
     <output name="o"> </output> 

     <input type="button" value="Predict" name="myButton" onClick="myMath()"> </form> 

    <div id="mys1"></div> 

    <script language="JavaScript"> 
     //my concept 
     function myMath() { 
      if (((document.function.o.output) < -30)) 
       document.getElementById("mys1").innerHTML = 'That' 
      s a little cold!'; 

     } 
    </script> 
</body> 
</html> 
+0

Откройте консоль ошибок браузера. Он сообщает вам, что такое синтаксическая ошибка и на какой строке. – JJJ

+0

Подсказка: посмотрите на цитаты, которые вы использовали в строке, которую вы установили на innerHTML - строка заканчивается, прежде чем вы думаете, что это так! – enhzflep

+0

'' Элементы не имеют атрибутов '.value'. И вы, похоже, обращаетесь к нему недействительно. – Bergi

ответ

0

Этот бит недействителен JavaScript:

document.getElementById("mys1").innerHTML = 'That's a little cold!' 

Он должен выглядеть следующим образом:

document.getElementById("mys1").innerHTML = "That's a little cold!" 

Чтобы избежать недостающее ', который должен быть причиной ошибки в веб-консоли.

0

Попробуйте это:

<html> 
<body> 

Total=3.21+9.63 x S //equation 
<form id="function" onsubmit="return false" oninput="o.value = 3.21 + (9.63 *parseInt(c.value))"> 
    =3.21+(9.63 * 
    <input name="c" type="number" step="any">) = 
    <output id="o"> </output> 

    <input type="button" value="Predict" name="myButton" onClick="myMath()" </form> 

<div id="mys1"></div> 

<script language="JavaScript"> 
    //my concept 
    function myMath() { 
     var x = document.getElementById("o").value; 
     if (x < -30){ 
      document.getElementById("mys1").innerHTML = "That's a little cold!"; 
     } 
    }; 
</script> 
</body> 
</html> 

Я принял значение из выходного элемента и сравнил его с -30. Вы должны использовать фигурные скобки после операторов «if». И ваша строка: «Это немного холодно!» уже закончился после «Это».