gpt4 book ai didi

Javascript程序,if语句困难

转载 作者:行者123 更新时间:2023-11-28 15:51:07 25 4
gpt4 key购买 nike

这段代码不起作用,至少不完整。我正在尝试运行它,以便选择一个项目,然后在选择菜单上选择存款金额,直到等于或超过适当的金额,从而导致更改,但我似乎无法让我的 if 语句正常工作。如果有人看到这个问题,我将非常感谢您的帮助。

http://jsfiddle.net/YgX4z/

<script type="text/javascript">

var select;

function changedepositedInput(objDropDown) {
//console.log(parseFloat(objDropDown));
var objdeposited = document.getElementById("deposited");
objdeposited.value=parseFloat(objdeposited.value||'0');
var total=parseInt(objdeposited.value||'0');
objdeposited.value = parseFloat(objDropDown.value||'0')+total;

var cost=parseInt('0');
var water = document.getElementById("water");
var soda = document.getElementById("soda");
var coffee = document.getElementById("coffee");
var beer = document.getElementById("beer");

if (water.checked) {cost=parseInt('75');}
if (soda.checked) {cost=parseInt('150');}
if (coffee.checked) {cost=parseInt('100');}
if (beer.checked) {cost=parseInt('200');}

if (total>cost) {
var change=document.getElementById("change");
change.value=total-cost;
}
else {
var change=document.geElementById("change");
change.value="0";
}
if (total>=cost) {
var objdelivered=document.getElementById("delivered");
objdelivered.value="Yes";
}
else {
var objdelivered=document.getElementById("delivered");
objdelivered.value="No";
}
}




</script>


<h1>Vending Machine Project</h1>
<form name="vendingmachine" action=" ">
Choose Bevrage<br>
<input name="item" type="radio" id="water" checked="checked">Water 75 cents<br>
<input name="item" type="radio" id="soda">Soda $1.50<br>
<input name="item" type="radio" id="coffee">Coffee $1.00<br>
<input name="item" type="radio" id="beer">Beer $2.00<br>
<p>
<label>Deposit Money:
<select name="money" id="money" onchange="changedepositedInput(this)">
<option value="0">Choose Amount</option>
<option value="10">10 cents</option>
<option value="25">25 cents</option>
<option value="50">50 cents</option>
<option value="75">75 cents</option>
<option value="100">$1.00</option>
</select>
</label>
</p>
<p>Total Deposited:<input name="deposited" id="deposited" type="text" readonly="TRUE" value=""></p>
<p>Change Returned:<input name="change" id="change" type="text" readonly="TRUE" value=" "></p>
<p>Bevrage Delivered:<input name="delivered" id="delivered" type="text" readonly="TRUE" value=" "></p>
<p><input type="reset" value="Start Over"></p>

最佳答案

您这里有一个拼写错误:

var change=document.geElementById("change");

应该是

var change=document.getElementById("change");

如果您在 fiddle 中进行测试,请不要使用functionchangedepositedInput(),因为它无法正确评估。相反,像这样定义你的函数:

changedepositedInput=function(){
};

(注意最后的分号)

提示

您可以使用现代浏览器的错误/javascript 控制台(或通常所说的开发人员工具)进行调试。

如果您打开该控制台并运行原始 fiddle ,您会收到此错误:

[Error] ReferenceError: Can't find variable: changedepositedInput
onchange (_display, line 75)

一旦函数定义发生更改(如我之前的问题中所述),实际问题就会出现:

[Error] TypeError: 'undefined' is not a function (evaluating 'document.geElementById("change")')
changedepositedInput (_display, line 46)
onchange (_display, line 74)

这直接指出了拼写错误。

See a working fiddle here

关于Javascript程序,if语句困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20558286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com