JavaScript備忘録

2008-07-28

[]onSubmitイベントについて 22:54

通常、テキストボックス内でエンターキーを押下すると、onSubmitイベントがよばれるのだが、一つのformの中に複数のテキストボックスがあり且つ、type=submitな部品がそのformに存在しない場合、onSubmitイベントがよばれないようだ。(たぶん、バグなのかも。。)


下記のコードでは、input1のテキストボックスでエンターキーを押下すれば、onSubmitイベントが呼ばれる。

<html>
<head>
<script language=javascript>
function hoge(){
	alert('submitイベントが呼ばれたよ!');
}
</script>
</head>
<body>
<form onSubmit="hoge(); return false;">
<input type=text name=input1>
</form>
</body>
</html>

下記のコードでは、どちらのテキストボックス(input1またはinput2)で、エンターキーを押下してもonSubmitイベントは呼ばれない。

<html>
<head>
<script language=javascript>
function hoge(){
	alert('submitイベントが呼ばれたよ!');
}
</script>
</head>
<body>
<form onSubmit="hoge(); return false;">
<input type=text name=input1>
<input type=text name=input2>
</form>
</body>
</html>

下記のコードでは、一つのformに二つのテキストボックスがあるが、type=submitな部品が存在するので、この場合はテキストボックス内でエンターキーを押下すると、onSubmitイベントが呼ばれる。

<html>
<head>
<script language=javascript>
function hoge(){
	alert('submitイベントが呼ばれたよ!');
}
</script>
</head>
<body>
<form onSubmit="hoge(); return false;">
<input type=text name=input1>
<input type=text name=input2>
<input type=submit name=submit value=submit>
</form>
</body>
</html>