2012-09-27 22 views
-2

나는 사람이 두 개의 값을 넣을 간단한 계산기를 만들려고 노력하고있다. 그리고 나서 버튼을 클릭하면 경고 상자가 결과를 줄 것이다. 하지만 작동하지 않습니다. 내가 볼자바 스크립트 계산기

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
<script type="text/javascript"> 

<!--//onclick handler //--> 
function gonum() 
{ 
var input1=document.getElementById('a').value; 
var operator=document.getElementById('op').value; 
var input2=document.getElementById('b').value; 


    if (operator=="+") 
    { 
     add(input1,input2); 
    } 
} 


function add(input1,input2) 
{ 
    alert(input1+input2); 
} 


</script> 
</head> 
<body> 
<form> 
<input type="text" name="a"/> 
<input type="text" name="op"/> 
<input type="text" name="b"/> 
<input type="button" value="=" name="btn" onClick="gonum()" /> 
</form> 
</body> 
</html> 
+0

를 작동하지 될? – CrazyCasta

답변

5

한 눈부신 문제는 이것이다 :이 결합

var input1=document.getElementById('a').value; 
var operator=document.getElementById('op').value; 
var input2=document.getElementById('b').value; 

:

<input type="text" name="a"/> 
<input type="text" name="op"/> 
<input type="text" name="b"/> 

사용자가 입력 요소에 대한 ID를 할당하지 않는 것을 관찰; 그러나 JavaScript가 존재하지 않는 ID로 호출하려고합니다.

이에 HTML을 변경

당신은 황금해야한다 : 더 구체적으로, 무엇을

<input type="text" name="a" id="a"/> 
<input type="text" name="op" id="op"/> 
<input type="text" name="b" id="b"/> 
+0

고마워요.이 광고와 경고 상자가 있는데, 1 + 1을 추가 할 때 '2 대신 11이 나옵니다. 즉, 숫자는 텍스트로 취급됩니다. 입력 형식을 텍스트가 아닌 숫자로 변경했지만 도움이되지 않았습니다! – Sarahfromnowhere

+0

입력 필드의 type 속성은 값의 데이터 유형 (항상 문자열)이 아닌 입력 필드에 입력 할 수있는 것에 영향을줍니다. 입력 필드의 값을 parseInt()에 전달해야 정수로 변환 할 수 있습니다. – pbeardshear

+0

고마워, 조! – Sarahfromnowhere