-6

コードを確認してください...

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript">
function operation(thevalue)
{
    var result;
    var one=document.forms["myform1"]["one"];
    var two=document.forms["myform1"]["two"];
    document.write(one);
    var x=document.getElementById(thevalue).value;

    if(x == "add")
    {
        result=one+two;
        alert ("Answer is : "+result);
    }

}
</script>
</head>
<body>
<form name="myform1">
Enter 1st no :<input type="text" name="one"  /><br/>
Enter 2nd no :<input type="text" name="two"  /><br/>
<input type="radio" id="add" name="operation" value="add" onclick="operation(this.value)" />Add
<input type="radio" id="sub" name="operation" value="sub" onclick="operation(this.value)" />Sub
<input type="radio" id="mul" name="operation" value="mul" onclick="operation(this.value)" />Mul
<input type="radio" id="div" name="operation" value="div" onclick="operation(this.value)" />Div

</form>
</body>
</html>
4

3 に答える 3

2

関数と入力名は同じ名前であり、入力から取得値を抽出する必要があります(そしてそれらを数値として解析する必要があります)

http://jsfiddle.net/VfnYB/1/

<form name="myform1">
Enter 1st no :<input type="text" name="one"  /><br/>
Enter 2nd no :<input type="text" name="two"  /><br/>
<input type="radio" id="add" name="operation" value="add" onclick="op(this.value)" />Add
<input type="radio" id="sub" name="operation" value="sub" onclick="op(this.value)" />Sub
<input type="radio" id="mul" name="operation" value="mul" onclick="op(this.value)" />Mul
<input type="radio" id="div" name="operation" value="div" onclick="op(this.value)" />Div

</form>



window.op=function(val)
{
    var result;
    var one=parseInt(document.forms["myform1"]["one"].value);
    var two=parseInt(document.forms["myform1"]["two"].value);

    if(val == "add")
    {
        result=one+two;
        alert ("Answer is : "+result);
    }

}
于 2013-03-19T06:20:19.370 に答える
0

1)ラジオボタンに「操作」という名前を付けたので、操作を別の名前に変更します

<input type="radio" id="add" name="operation" value="add" onclick="operation(this.value)" />Add

2)コードに.value部分がありません。これがないと、要素のみが取得され、その値は取得されません。

 var one=document.forms["myform1"]["one"].value;
 var two=document.forms["myform1"]["two"].value;
于 2013-03-19T06:23:35.157 に答える
0

競合の原因となっている別の名前に操作を変更してください。

于 2013-03-19T06:07:28.210 に答える