我正在尝试使用html表单来接受我的用户输入然后在javascript上进行计算,它只显示没有计算的对话框,可能是什么问题?我不知道该如何去做,这是我到目前为止所尝试的。
的Javascript
<script type="text/javascript">
function Air() {
input = document.getElementById('Enter').value;
TotalPurchasingAmountOrange = 0.87 * input;
discountOrange = 0.13 * input;
TotalPurchasingAmountMascom = 0.85 * input;
discountMascom = 0.15 * input;
TotalPurchasingAmountBMobile = 0.83 * input;
discountMascom = 0.17 * input;
alert("Orange airtime:\nAmount: " + TotalPurchasingAmountOrange + "\nDiscount: " + discountOrange);
alert("Mascom airtime:\nAmount: " + TotalPurchasingAmountMascom + "\nDiscount: " + discountMascom + "\nBMobile airtime:\nAmount: " + TotalPurchasingAmountBMobile + "\nDiscount: " + discountBMobile);
}
</script>
表格
<ul>
<li>
<label>Units
<input type="text" data-bind="value: units" />
</label>
</li>
</ul>
<div class="buttonArea">
<input id="Enter" type="button" value="Enter" onclick="Air()" />
</div>
答案 0 :(得分:1)
你的问题在这里:
input = document.getElementById('Enter').value;
...
<input id="Enter" type="button" value="Enter" onclick="Air()"/>
Enter
的值为“Enter”,因此当您尝试将其乘以0.87
时,我怀疑您要么出现控制台错误,要么javascript试图变得聪明并且数字超出价值并且完全错了。
这就是你想要的:
<input type="text" id="Enter">
<input type="button" value="Enter" onclick="Air()"/>
答案 1 :(得分:0)
input = document.getElementById('Enter').value;
首先,请在初始化变量之前使用“var”,除非“input”是全局变量。 其次,根据您的代码,输入值将为“Enter”。在那之后,你试图将它乘以一些数字。即使是JS也无法提供这种计算。
您需要使用
<input type="text" id="Enter" />
允许用户编写自己的值。
或者您可以通过提示功能使用对话框窗口。 它看起来像:
function Air (){
while (isNaN(amount)) {
var input = prompt("Please, enter needed amount. Notice, that it should be number");
var amount = parseFloat(input);
}
var TotalPurchasingAmountOrange = 0.87 * amount;
var discountOrange = 0.13 * amount;
var TotalPurchasingAmountMascom = 0.85 * amount;
var discountMascom = 0.15 * amount;
var TotalPurchasingAmountBMobile = 0.83 * amount;
var discountMascom = 0.17 * amount;
alert("Orange airtime:\nAmount: " +TotalPurchasingAmountOrange+ "\nDiscount: " +discountOrange );
alert("Mascom airtime:\nAmount: " +TotalPurchasingAmountMascom+ "\nDiscount: " +discountMascom+ "\nBMobile airtime:\nAmount: " +TotalPurchasingAmountBMobile+ "\nDiscount: " +discountBMobile );
}
答案 2 :(得分:0)
您在Javascript中获得Enter
的值。如果在分配变量后执行alert(input)
,则会注意到其值为Enter
,即按钮上的文本。我猜你不是想做什么的!
添加到您的HTML中,例如:
<input id="number" type="textbox">
改变你的第一条Javasvript系列:
input = document.getElementById('number').value;
在文本框中输入一个值,您应该会注意到前两次alert
来电中显示的实际数字!