Javascript parseInt没有得到一个额外的返回 var选择; window.onload=函数(){ var select=document.getElementById(“货币”); console.log(选择); } 功能更改存储输入(objDropDown){ log(parseInt(objDropDown)); var objdeposited=document.getElementById(“存放”); objdeposited.value=parseInt(objdeposited.value); var total=parseInt(objdeposite.value); objdeposited.value=parseInt(objDropDown.value+total); objdeposited.value=parseInt(objdeposited.value); } 自动售货机项目 选择Bevrage 水75美分 苏打水1.50美元 咖啡1.00美元 啤酒2.00美元
存款: 选择数量 10美分 25美分 50美分 75美分 $1.00 存款总额: 使用这段代码,我不会得到一个实数的返回,例如,在下拉菜单中,我会选择两个值,即50和75,它们将组合为5075,这是否意味着它仍然在某个地方以字符串的形式运行,如果是,在何处 例如,在一个下拉菜单中,我会选择两个值,即50和75,它们将组合为5075,这是否意味着它仍然在某个地方以字符串形式运行,如果是,在哪里 是的,这里:Javascript parseInt没有得到一个额外的返回 var选择; window.onload=函数(){ var select=document.getElementById(“货币”); console.log(选择); } 功能更改存储输入(objDropDown){ log(parseInt(objDropDown)); var objdeposited=document.getElementById(“存放”); objdeposited.value=parseInt(objdeposited.value); var total=parseInt(objdeposite.value); objdeposited.value=parseInt(objDropDown.value+total); objdeposited.value=parseInt(objdeposited.value); } 自动售货机项目 选择Bevrage 水75美分 苏打水1.50美元 咖啡1.00美元 啤酒2.00美元,javascript,function,parseint,Javascript,Function,Parseint,存款: 选择数量 10美分 25美分 50美分 75美分 $1.00 存款总额: 使用这段代码,我不会得到一个实数的返回,例如,在下拉菜单中,我会选择两个值,即50和75,它们将组合为5075,这是否意味着它仍然在某个地方以字符串的形式运行,如果是,在何处 例如,在一个下拉菜单中,我会选择两个值,即50和75,它们将组合为5075,这是否意味着它仍然在某个地方以字符串形式运行,如果是,在哪里 是的,这里: var select; window.onload = function () { v
var select;
window.onload = function () {
var select = document.getElementById("money");
console.log(select);
}
function changedepositedInput(objDropDown) {
console.log(parseInt(objDropDown));
var objdeposited = document.getElementById("deposited");
objdeposited.value=parseInt(objdeposited.value);
var total=parseInt(objdeposited.value);
objdeposited.value = parseInt(objDropDown.value+total);
objdeposited.value = parseInt(objdeposited.value);
}
</script>
<h1>Vending Machine Project</h1>
<form name="vendingmachine" action=" ">
Choose Bevrage<br>
<input name="item" type="radio" value="water" checked="checked">Water 75 cents<br>
<input name="item" type="radio" value="soda">Soda $1.50<br>
<input name="item" type="radio" value="coffee">Coffee $1.00<br>
<input name="item" type="radio" value="beer">Beer $2.00<br>
<p>
<label>Deposit Money:
<select name="money" id="money" onchange="changedepositedInput(this)">
<option>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>
objDropDown.value
是一个字符串,例如'50'
,total
是一个数字,例如75
在JavaScript中,'50'+75
是'5075'
您可以替换这3条线
objdeposited.value = parseInt(objDropDown.value+total);
与
编辑:
存放的
值的默认值是一个空格“
,这会导致问题。将其更改为空字符串“”
。还向所有对parseInt(或parseFloat)的调用添加一个| |“0”
。请参阅。您正在声明选择var
在作用域中声明一个局部变量。我需要做些什么来更改它,对不起,我是新来的,谢谢!啊,好的,那么有没有办法让这些代码加起来呢?还是我漏掉了什么,我很抱歉我对这方面的知识不了解,但是谢谢你!是-每次使用其中一个html值时,只需调用parseInt
。我会更新答案。现在就要开始了,你需要看更多的代码来看看我是否把其他的东西弄糟了吗?与菜单本身类似吗?@joro4651如果值为空,则可能发生这种情况。我在上面的代码中添加了一个| |“0”
。如果这不能解决问题,那么请尝试为html字段提供示例值。好的,我添加了与问题相关的其余代码,我遗漏了一些不影响问题的内容,如果您看到什么,请告诉我,再次感谢
var total=parseInt(objdeposited.value);
objdeposited.value = parseInt(objDropDown.value+total);
objdeposited.value = parseInt(objdeposited.value);
var total = parseInt(objdeposited.value);
objdeposited.value = parseInt(objDropDown.value||'0') + total;