<!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>
如果在一个新名称的用户的类型,改变焦点,然后点击按预期显示新名称的按钮。 但是,如果用户更改名称,然后单击该按钮而不更改焦点,则不会显示新名称。 这是为什么?在我的代码中有几个输入,我想在每次更改时处理每个输入,然后在点击按钮时再执行一些操作。问题在于,除非用户首先进行非直观的鼠标点击或按下“输入”,否则无法识别按钮点击。有没有办法获得理想的行为?是否可以在onchange事件之后立即检测onclick事件?
请千万不要用内嵌JavaScript(在你的HTML:的onclick,平变化)。这从来不是一个好的做法。 – m59
@ m59我明白了。我的目的是用简单的方式来解决这个问题。 – user2662157