проблема с конвертером валют в javascript - PullRequest
0 голосов
/ 17 декабря 2011

У меня проблемы с этим JavaScript.вот пример

 window.onload = initPage;

var euro;
var convert;

function initPage()
{
    document.getElementById("convertButton").onclick = calcAnswer();
    document.getElementById("conversionType").onchange = calcAnswer();
}

function calcAnswer()
{
    //alert(document.getElementById("conversionType").value);

    var value1 = document.getElementById("amount").value;
    var conversionType = document.getElementById("conversionType").value;
    //alert(conversionType);

    if(var value = document.getElementById("conversionType").value=="polish");
        document.getElementById("answer").value=(value1-32)/9*5;
    else
        document.getElementById("answer").value=value1*9/5+32;
}

вот HTML

  <h1>Currency Converter</h1>


  <form name="convert">

Choose which currency you would like to convert to the Euro:
<select id="conversionType">
    <option value="polish">Polish Zloty</option>
    <option value="ukraine">Ukraine Hryvnia</option>
</select>
</br>
</br>

<hr>
      Amount:<input id="amount" type="text" />
<input id="convertButton" type="button" value="Convert->"/>
      To:
<input id="answer" type="text" name="answer" readonly="readonly"/>


</form>

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

Ответы [ 2 ]

3 голосов
/ 17 декабря 2011

Для начала, эти две строки неправильны:

document.getElementById("convertButton").onclick = calcAnswer();
document.getElementById("conversionType").onchange = calcAnswer();

Измените их на:

document.getElementById("convertButton").onclick = calcAnswer;
document.getElementById("conversionType").onchange = calcAnswer;

Вы хотите назначить ссылку на функцию для onclick и onchange,на самом деле не вызывать функцию и присваивать возвращаемое значение.

Затем исправить оператор if в calcAnswer следующим образом:

function calcAnswer()
{
    var amount = document.getElementById("amount").value;
    var conversionType = document.getElementById("conversionType").value;
    var answerElement = document.getElementById("answer");
    //alert(conversionType);

    if(conversionType == "polish") {
        answerElement.value = (amount-32)/9*5;
    } else {
        answerElement.value = amount*9/5+32;
    }
}
0 голосов
/ 17 декабря 2011

Должно быть

document.getElementById("convertButton").onclick = calcAnswer;
document.getElementById("conversionType").onchange = calcAnswer;

(без паренов)

Вам просто нужно сослаться на функцию, а не выполнять ее.

...