2015-05-07 2 views
0

У меня есть форма (им с помощью начальной загрузки) с 3 числом входов и с номерами им делать математику, это мой кодПочему моя форма с javascript не работает?

function abc() { 
 
     var a = document.getElementById("a").value; 
 
     var b = document.getElementById("b").value; 
 
     var c = document.getElementById("c").value; 
 

 
     var d = Math.pow((b), 2) - (4 * a * c); 
 
       
 
     var x1 = (-b-(Math.sqrt(d)))/(2 * a); 
 

 
     var x2 = (-b+(Math.sqrt(d)))/(2 * a); 
 

 
     document.write(d); 
 
    }
<div class="row"><!-- Row --> 
 
     <div class="col-md-4"><!-- Rij links --> 
 
      <form onsubmit="abc()" role="form"> 
 
      <div class="form-group"> 
 
       <label for="a">Vul hier a in:</label> 
 
       <input type="number" class="form-control" id="a" placeholder="Ax2 + bx + c" > 
 
      </div> 
 
      <div class="form-group"> 
 
       <label for="b">Vul hier b in:</label> 
 
       <input type="number" class="form-control" id="b" placeholder="ax2 + Bx + c" > 
 
      </div> 
 
      <div class="form-group"> 
 
       <label for="c">Vul hier c in:</label> 
 
       <input type="number" class="form-control" id="c" placeholder="ax2 + bx + C" > 
 
      </div> 
 
       <button type="submit" class="btn btn-default btn-block">Ga!</button> 
 
      </form> 
 
     </div><!-- Einde Rij links --> 
 
     <div class="col-md-4"><!-- Rij rechts --> 
 
      <p>Je antwoord komt hieronder:</p> 
 
      <p id="antwoord"></p> 
 
     </div><!-- Einde Rij rechts --> 
 
     <div class="col-md-4"> 
 

 
     </div> 
 
     </div><!-- Einde Row -->

мой браузер прямо перед закрывающим тегом тела.

сначала код работал, но внезапно он прекратил работать. он ничего не делает

+1

Остановленные рабочие средства? это диапроцессорный ответ, когда нажата кнопка. – Lal

+1

Форма отправляется, потому что ничего не мешает ей отправлять, тем самым перезагружая страницу. – adeneo

+0

Выполнить фрагмент кода, похоже, сработает для меня, я понятия не имею, что это за математика! – craigie2204

ответ

1

Функция onsubmit не препятствует отправке страницы назад на сервер. Лучшая практика является возвращение ложным в конце функции абв:

function abc() { 
    var a = document.getElementById("a").value; 
    var b = document.getElementById("b").value; 
    var c = document.getElementById("c").value; 
    var d = Math.pow((b), 2) - (4 * a * c); 
    var x1 = (-b-(Math.sqrt(d)))/(2 * a); 
    var x2 = (-b+(Math.sqrt(d)))/(2 * a); 
    document.write(d); 

    return false; 
} 

Вы также должны обновить onsubmit следующим образом:

<form onsubmit="return abc()" role="form"> 

Надежда, что помогает!

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