onsubmit = ★ フォーム送信時
★・・・実行する命令(関数や関数名)
フォームが送信されたときに発生するイベントです。実行する命令の戻り値がfalseの場合は送信を行いません。
onsubmitイベント
submitボタンがクリックされたときに発生するイベントです。
// フォームが送信されたら関数 formCheck を呼び出します。
フォームの送信をJavaScriptで制御するメリットの一つは、未記入の項目があるとき、フォームを送信しないようにできることです。送信しないようにするには、onsubmitイベントの処理としてreturnステートメントでfalseを返すようにします。
入力の確認などをしてからフォームを送信させた場合はreturnの後に関数名を指定して、その関数の中で入力が誤っていたらfalseを返すようにしてください。たとえば
function sendMail() {
return false;
}
というfalseを返す関数を作成して、<form>タグのonsubmitイベントを
onsubmit=”return sendMail()”
のように記述すると、フォームを送信しません(常にfalseを返します)。
この応用として以下のように記述すれば、text1に文字列が入力されている場合だけ送信できるようになります(document.form1はthisと書き換えることができます)。
<form name=”form1″ action=”” onsubmit=”return document.form1.text1.value!=””>
<input type=”text” name=”text1″ />
<input type=”submit” value=”送信” />
</form>