2015-03-06 2 views
0

Я подчеркиваю, потому что не понимаю, почему мой код не показывает результат вычисления в Javascript. Это на другом языке, но в основном я просто хочу напечатать две переменные, и если они находятся между ними, они должны показывать текст. Это мой код, я думал, что он выглядит довольно хорошо, но он не работает.Почему внутренний html не работает с Javascript?

document.getElementById('calculate').addEventListener('click', function("inwoners") { 
 

 
    var bev = document.getElementById("bevdicht").value; 
 
    var opp = document.getElementById("oppervlakte").value; 
 

 
    if (bev < 1 || bev > 700 || opp < 0 || isNaN(bev) || isNaN(opp) || { 
 
     div.innerHTML = "Ongeldige waarde ingevoerd!"; 
 
     return; 
 
     } 
 

 
     bev = parseInt(bev); opp = parseInt(opp); 
 

 
     var inwoners = bev * opp; 
 

 
     inwoners = Math.round(inwoners); 
 

 
     if (inwoners > 582000 && inwoners < 585000) { 
 
     var text = "Groningen"; 
 
     } 
 
     if (inwoners > 643000 && inwoners < 646000) { 
 
     var text = "Friesland"; 
 
     } 
 
     if (inwoners > 48800 && inwoners < 49500) { 
 
     var text = "licht overgewicht"; 
 
     } 
 
     if (inwoners > 1130000 && inwoners < 1140000) { 
 
     var text = "matig overgewicht"; 
 
     } 
 
     /* if (bmi > 30 && bmi < 40) { 
 
      var text = "ernstig overgewicht"; 
 
     } 
 
     if (bmi > 40) { 
 
      var text = "ziekelijk overgewicht"; */ 
 
    } 
 

 
    div.getElementById('calc') innerHTML = "Het aantal inwoners in deze provincie zijn <b>" + inwoners + "</b><p></p> en het is de provincie <b>" + text + "</b>"; 
 
    }, false);
<form> 
 
    De bevolkingsdichtheid is 
 
    <input id="bevdicht" size="7" maxlength="5" type="text" placeholder="vul in" /> 
 
    <p></p> 
 
    De oppervlakte van de provincie is 
 
    <input id="oppervlakte" size="7" maxlength="9" type="text" placeholder="vul in" />vierkantemeter 
 
    <p></p> 
 
    <input onclick="inwoners()" type="button" value="Bereken!" /> 
 
</form> 
 

 
<p>&nbsp</p> 
 

 
<div id="calc">Het aantal inwoners in deze provincie zijn .. 
 
    <p></p>en het is de provincie ... 
 
</div>

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

+0

У вас нет элемента с id 'calculate', и вам не удалось использовать инструменты форматирования кода Stackoverflow (а также функцию фрагмента, которая могла бы обеспечить живую демонстрацию проблемы). – Quentin

+0

ehe Извините, я очень глуп и новичок в этом, так что мне делать – azaela

+0

есть точка отсутствует в div.getElementById ('calc') innerHTML – progysm

ответ

0

Вы были некоторые проблемы форматирования. Вы пропустили ) в первом операторе if, и в этом операторе if был добавлен дополнительный ||.

Вы также не имели id как calculate на эту кнопку

я переводил свой код (потому что я понятия не имел, что он делает). После этого это было не очень сложно.

Ниже, рабочий код -

var calcResidents = function() { 
 
    var populationDensity = document.getElementById("populationDensity").value; 
 
    var provinceArea = document.getElementById("provinceArea").value; 
 

 
    if (populationDensity < 1 || populationDensity > 700 || provinceArea < 0 || isNaN(populationDensity) || isNaN(provinceArea)) { 
 
    document.getElementById('calc').innerHTML = "Invalid input value!"; 
 
    return; 
 
    } 
 

 
    var residents = parseInt(populationDensity) * parseInt(provinceArea); 
 

 
    residents = Math.round(residents); 
 

 
    if (residents > 582000 && residents < 585000) { 
 
    var text = "Groningen"; 
 
    } 
 

 
    if (residents > 643000 && residents < 646000) { 
 
    var text = "Friesland"; 
 
    } 
 

 
    if (residents > 48800 && residents < 49500) { 
 
    var text = "licht overgewicht"; 
 
    } 
 

 
    if (residents > 1130000 && residents < 1140000) { 
 
    var text = "matig overgewicht"; 
 
    } 
 

 
    document.getElementById('calc').innerHTML = "The population in this province <b>" + residents + "</b><p></p> and it is the province <b>" + text + "</b>"; 
 
};
<form> 
 
    The population density is 
 
    <input id="populationDensity" size="7" maxlength="5" type="text" placeholder="fill in" /> 
 
    <p></p> 
 
    The area of the province is 
 
    <input id="provinceArea" size="7" maxlength="9" type="text" placeholder="fill in" />square meters 
 
    <p></p> 
 
    <input id="calculate" onclick="calcResidents();" type="button" value="calculated!" /> 
 
</form> 
 

 
<p>&nbsp</p> 
 

 
<div id="calc">The population in this province .. 
 
    <p></p>and it is the county ... 
 
</div>

Попробуйте 500 для плотности и 1166 для области

Надеется, что это помогает!

+0

Ты лучший из лучших, позволь мне любить тебя, хотя этот сайт говорит, что я не могу поблагодарить людей, которых ты спасаешь. – azaela

+0

Ха-ха .. Добро пожаловать! Хороших выходных.. –

1

У вас есть вопросы форматирования:

  • Вы надеваете 't есть что-либо с идентификатором "calculate"
  • Вы не можете передать строку (функция ("inwoners ")) в качестве первого аргумента функции для вашего обработчика событий, поскольку первое, что передавалось ему, всегда будет объектом события
  • в строке 7, у вас есть переменная« div », которую вы нигде не определили
  • ваш оператор if в строке 6 не имеет закрывающих круглых скобок после условий и имеет || что не следует ничего
  • у вас есть дополнительный кронштейн на линии 34
  • , как уже упоминалось, вы оставили из точки перед innerHTML на линии 35
Смежные вопросы