1つの入力フィールドを持つ単純なフォームがあります。入力フィールドには、onchangeイベントハンドラーがあります。フィールドに値を入力し、入力フィールドがフォーカスを失わないように[完了]ボタンを直接クリックすると、onchangeハンドラーが呼び出されますが、hrefメソッドは呼び出されません。
なぜ何かアイデアはありますか?私はこれを理解するために何時間も費やしましたが、今のところ運がありません。
以下はサンプルコードです。
<html>
<head>
<script language="Javascript">
function validateInput()
{
alert("validateInput()");
return true;
}
function setEdited()
{
alert("setEdited()");
return true;
}
</script>
</head>
<body>
<form name="my_form" method="post" action="next_page.html">
<table width="100%" border="0" cellspacing="2" cellpadding="5">
<tr>
<td>field 1</td>
<td><input type="text" name="field_1" size="20" value="abc" onchange="setEdited()"/></td>
</tr>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%" >
<tr>
<td align="right" nowrap > <a href="javascript:validateInput()">Done</a> </td>
<td align="right" nowrap > <a href="javascript:window.close()" >Cancel</a> </td>
</tr>
</table>
</form>
</body>
</html>