2013-03-19 9 views
-5

檢查代碼...招呼每一個請告訴我爲什麼這個代碼不給任何迴應

<!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> 
+2

請花時間學習[如何提出問題](http://stackoverflow.com/questions/how-to-ask)。 – 3dgoo 2013-03-19 06:10:22

+0

var one和two應該是那些輸入控件的值 – Kaf 2013-03-19 06:11:29

回答

0

改變操作的另一個名字,這是造成衝突..

+0

操作不是關鍵字,問題是html元素(單選按鈕)和函數具有相同的名稱,即導致衝突的操作。 – 2013-03-19 06:12:01

+0

@ user2168358你有沒有得到解決方案 – PSR 2013-03-19 06:14:12

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); 
    } 

} 
+0

謝謝...現在它的作品...非常感謝你.. – Arpit 2013-03-19 06:31:55

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; 
相關問題