<!DOCTYPE html>
<html>
<head>
<title>자바스크립트 연습</title>
<style>
</style>
</head>
<body>
<h3>계산해봅시다.</h3>
<hr>
<p>2 + 4 = <span onclick="this.value=eval(2+4)">답</button></p>
<p>4 + 20 + 64 =<span onclick="this.value=eval(2+4)">답</button></p>
<p>20/5-8*2 = <span onclick="this.value=eval(2+4)">답</button></p>
</body>
</html>
답이라는 글짜가 클릭이 되어야 하는데 클릭도 안되고 숫자로 변화지를 않아요 어디서 잘못되었나요..ㅠ
우선 코드에 3개의 오류가 있습니다.
1. </button>이 </span>으로 수정되어야 합니다.
2. 클릭이 되지 않는 것이 아니라, 클릭이 되는데 onclick 리스너에서 eval()의 결과를 엉뚱한 곳에 쓰고 있으니까
원하는 것이 출력되지 않는 것이지요. 학생이 작성한 아래의 코드 의미는
onclick="this.value=eval(2+4)"
이 객체 SPAN의 value 속성에 결과 값을 쓰는 것인데
value 속성은 <button>이나 <input> 등의 폼 요소들에 있는 것입니다.
여기서는 this.innerHTML이 맞는 것입니다.
3. 그리고 3군데 모두 eval(2+4)로 되어 있는데 수식을 바로 잡아야 합니다.
그럼.