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 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

存款: 选择数量 10美分 25美分 50美分 75美分 $1.00

存款总额:

使用这段代码,我不会得到一个实数的返回,例如,在下拉菜单中,我会选择两个值,即50和75,它们将组合为5075,这是否意味着它仍然在某个地方以字符串的形式运行,如果是,在何处

例如,在一个下拉菜单中,我会选择两个值,即50和75,它们将组合为5075,这是否意味着它仍然在某个地方以字符串形式运行,如果是,在哪里

是的,这里:

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;