[問題] javascript小問題

作者: kurokage (黑影)   2016-08-08 06:17:35
打擾一下
我最近在學javascript
看網路教學後綜合做了一個select和radio有加減的函式
但一直沒成功
也找不到錯在哪裡
請大大們指點指點
大意為checked*selected+input1輸入之數值=輸出到input2
以下為程式碼
<html>
<head>
<title></title>
<script>
function _click(theform){
var rl = theform._radio.length;
var sl = theform._select.option.length;
for(var i=0;i<rl;i++)
{
if(theform.radio[i].checked)
{
var rv = theform._radio[i].value;
}
}//radio
for(var i=0;i<sl;i++)
{
if(theform._select.option[i].selected)
{
var sv = theform._select.option[i].value;
}
}//select
var inpva = parseInt(document.getElementById("_input1").value;)
var aaaa= parseInt(sv*rv);
document.getElementById("_input2").value= aaaa+inpva ;
}
</script>
</head>
<body>
<form>
<input type="radio" name="_radio" value="10">10</input>
<input type="radio" name="_radio" value="20">20</input>
<select name="_select">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<input type="text" name="_input1" id="_input1">
<button type="reset" value="">清除</button>
<button onclick="_click(this.form)">=</button>
<input type="text" readonly="true" name="_input2" id="_input2">
</form>
</body>
</html>
作者: well60110   2016-08-08 07:50:00
aaaa取不到sv,rv的值吧! 因為是區域變數建議你可以在每一行alert或印log觀查數值變化@_@
作者: Qiqi (潑潑)   2016-08-08 09:22:00
其實那兩個可以不用for,直接選到checked跟selected就好了
作者: devil115789 (味噌湯好喝)   2016-08-08 16:54:00
參考一下差別 https://jsfiddle.net/a4nps9tv/主要問題大致有 form結構、local variable、NaN判斷
作者: kurokage (黑影)   2016-08-08 18:13:00
謝謝各位回答,我會再看看,果然沒麼簡單XDdevi1115789感謝詳細教學

Links booklink

Contact Us: admin [ a t ] ucptt.com