我尝试了多种方法来获得结果,但我无法这样做..我在javascript中很新..
举个例子。
“results2”中的用户输入值“5”。单击SGD按钮后,我希望输入中的值更改为新值,即UserInput * SGDRate。
这是我的HTML代码
<p class="heading">
This is a currencry converter for Singapore To Malaysia Currency </P>
<form name="currency">
<input type="text" name="results2">
<input type="button" value=SGD name="SGD" onclick="displayConversion(SGD.value)">
<input type="button" value="Please Click to find what is the latest Rate" name="help" onclick = "rates()">
</form>
至于我的javascript文件
我知道我需要创建另一个功能,但我不确定我从哪里开始。
var SGDrate = 2.92;
var convertrate = inputUser * SGDrate;
function displayConversion(n1)
{
currency.results2.value=n1;
}
提前致谢:)
答案 0 :(得分:1)
您在代码中犯了一些错误:
</P>
而不是</p>
关闭了该段落。results2.value
传递给displayConversion
,而不是SGD.value
。convertrate
需要是一个函数才能进行多次评估。此外,您可以向id
添加results2
属性,以便更改其值。
这是解决了这些问题的代码。
function convertrate(rate) {
var SGDrate = 2.92;
return rate * SGDrate;
}
function displayConversion(rate) {
var results2 = document.querySelector('#results2');
results2.value = convertrate(rate);
}
&#13;
<p class="heading">
This is a currencry converter for Singapore To Malaysia Currency
</p>
<form name="currency">
<input type="text" id="results2" name="results2">
<input type="button" value=SGD name="SGD" onclick="displayConversion(results2.value)">
<input type="button" value="Please Click to find what is the latest Rate" name="help" onclick = "rates()">
</form>
&#13;
答案 1 :(得分:0)
使用此类value
事件时,您应该input.result2
onclick
传递:
<input type="button" value=SGD name="SGD" onclick="displayConversion(document.getElementsByName('results2')[0].value)">
然后在您的脚本中,您应该将您的等式计算到函数中:
var SGDrate = 2.92;
function displayConversion(n1)
{
var convertrate =n1 * SGDrate;
currency.results2.value=convertrate;
}
在这些修改后查看您的示例:
var SGDrate = 2.92;
function displayConversion(n1)
{
var convertrate =n1 * SGDrate;
currency.results2.value=convertrate;
}
&#13;
<p class="heading">
This is a currencry converter for Singapore To Malaysia Currency </p>
<form name="currency">
<input type="text" name="results2">
<input type="button" value=SGD name="SGD" onclick="displayConversion(document.getElementsByName('results2')[0].value)">
<input type="button" value="Please Click to find what is the latest Rate" name="help" onclick = "rates()">
</form>
&#13;
如果用户输入的值是float
,您还应该检查输入值,在下面的代码片段中,我检查了用户输入的值,如果不是float
,则会发出警告消息
var SGDrate = 2.92;
function displayConversion(n1)
{
if( !isNaN(parseFloat(n1)) ){
var convertrate = parseFloat(n1) * SGDrate;
currency.results2.value=convertrate;
}
else{
alert("you must enter a number")
}
}
&#13;
<p class="heading">
This is a currencry converter for Singapore To Malaysia Currency </p>
<form name="currency">
<input type="text" name="results2">
<input type="button" value=SGD name="SGD" onclick="displayConversion(document.getElementsByName('results2')[0].value)">
<input type="button" value="Please Click to find what is the latest Rate" name="help" onclick = "rates()">
</form>
&#13;