<!DOCTYPE html> <!-- HTML5 -->
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<p><button type="button" onclick="show()">Show new name</button></p>
<p>Name: <input type="text" onchange="changed()" id ="nm" name="FirstName" value="Mickey"></p>
<p>New name: <span id="sh" ></span></p>
<script>
function show()
{
var elem = document.getElementById("nm");
name = elem.value;
document.getElementById("sh").innerHTML = name;
}
function changed()
{
alert("Name changed");
}
</script>
</body>
</html>
사용자가 새 이름을 입력하고 포커스를 변경 한 다음 버튼을 클릭하면 새 이름이 의도 한대로 표시됩니다. 그러나 사용자가 이름을 변경하고 포커스를 변경하지 않고 단추를 클릭하면 새 이름이 표시되지 않습니다. 이유가 무엇인가요? 내 코드에는 여러 개의 입력이 있으며 변경된 시점에 각각을 처리하고 버튼을 클릭 할 때 더 많은 작업을 수행하려고합니다. 문제는 사용자가 처음 직관적이지 않은 마우스 클릭을하거나 "enter"를 누르지 않으면 버튼 클릭이 인식되지 않는다는 것입니다. 원하는 동작을 얻을 수있는 방법이 있습니까?onchange 이벤트 바로 다음에 onclick 이벤트를 감지 할 수 있습니까?
귀하의 html : onclick, onchange에서 인라인 자바 스크립트를 사용하지 마십시오. 그것은 결코 좋은 연습이 아니 었습니다. – m59
@ m59 이해합니다. 여기 내 목적은 가능한 한 단순한 방식으로 이슈를 구성하는 것이 었습니다. – user2662157