代码不会显示文本框中的总数,我需要您的代码帮助。
代码在这里:
<script>
function optTotal()
{
var a = document.frm.optA.value;
if (!a)
a = '0';
var b = document.frm.optB.value;
if (!b)
b = '0';
var c = document.frm.optC.value;
if (!c)
c = '0';
var d = document.frm.optD.value;
if (!d)
d = '0';
var optA = parseFloat(a);
var optB = parseFloat(b);
var optC = parseFloat(c);
var optD = parseFloat(d);
document.frm.total.value = optA + optB + optC + optD;
}
</script>
代码在这里:
<form method="post" action="index.php" name="frm" id="frm" >
<input type="text" name="name" />
<input type="radio" name="optA" value="1" onclick="optTotal()" />1
<input type="radio" name="optA" value="2" onclick="optTotal()" />2
<input type="radio" name="optA" value="3" onclick="optTotal()" />3
<input type="radio" name="optB" value="1" onclick="optTotal()" />1
<input type="radio" name="optB" value="2" onclick="optTotal()" />2
<input type="radio" name="optB" value="3" onclick="optTotal()" />3
<input type="radio" name="optC" value="1" onclick="optTotal()" />1
<input type="radio" name="optC" value="2" onclick="optTotal()" />2
<input type="radio" name="optC" value="3" onclick="optTotal()" />3
<input type="radio" name="optD" value="1" onclick="optTotal()" />1
<input type="radio" name="optD" value="2" onclick="optTotal()" />2
<input type="radio" name="optD" value="3" onclick="optTotal()" />3
<input type="text" name="total" id="total" onkeyup="optTotal()" />
<input type="submit" value="enter" name="calculate" />
</form>
我希望我的代码在文本框中显示实时输出。
答案 0 :(得分:0)
DEMO 点击第一行的任何选项,我已修改了该版本
document.frm.optA
返回nodelist数组,表示名称为optA
你必须
var a = document.frm.optA // This will return all radio buttons whoose names are optA
for(var i=0;i<a.length;i++)
{
if(a[i].checked)
{
alert(a[i].value);
}
}
答案 1 :(得分:0)
按照以下步骤
var a1 = document.querySelector('input[name="optA"]:checked');
var b1 = document.querySelector('input[name="optB"]:checked');
var c1 = document.querySelector('input[name="optC"]:checked');
var d1 = document.querySelector('input[name="optD"]:checked');
if (a1 != null)
a1 = parseFloat(a1.value);
else
a1 = 0;
if (b1 != null)
b1 = parseFloat(b1.value);
else
b1 = 0;
if (c1 != null)
c1 = parseFloat(c1.value);
else
c1 = 0;
if (d1 != null)
d1 = parseFloat(d1.value);
else
d1 = 0;
document.frm.total.value=parseFloat(a1)+parseFloat(b1)+parseFloat(c1)+parseFloat(d1);
答案 2 :(得分:0)
我已经创建了一个脚本来解决您的问题,请看一下。
function getCheckedRadio(radio_group) {
var radio_group = document.getElementsByName(radio_group);
for (var i = 0; i < radio_group.length; i++) {
var button = radio_group[i];
if (button.checked) {
return button.value;
}
}
return undefined;
}
function optTotal()
{
var a = getCheckedRadio("optA");// pass radio button group name
if (!a)
a = '0';
var b = getCheckedRadio("optB");// pass radio button group name
if (!b)
b = '0';
var c = getCheckedRadio("optC");// pass radio button group name
if (!c)
c = '0';
var d = getCheckedRadio("optD");// pass radio button group name
if (!d)
d = '0';
var optA = parseFloat(a);
var optB = parseFloat(b);
var optC = parseFloat(c);
var optD = parseFloat(d);
document.frm.total.value = optA + optB + optC + optD;
}