フォーム送信にonsubmitを使用する
フォームをサブミットする際にonsubmitで関数をしておくと、サブミットボタン(type="submit")を押す前に関数が実行されます。
onsubmitは入力チェックなどに向いています。例えば必須項目に値が入っていない場合はエラーとしてサブミットしない、などが可能になります。
以下のフォームを未入力のまま実行するとサブミットされません。



onsubmit="a();"ではなく、onsubmit="return a();"としないとサブミットされてしまうようです。
IE8でもChrome23でも動作確認します。
以下、ソースです。

<script type="text/javascript">
<!--
function a(){
    if(document.getElementById("txt").value == ""){
        alert("未入力です");
        return false;
    }else{
        return true;
    }
}

// -->
</script>
<form name="namae" method="post" action="test.php" target="_blank" onsubmit="return a();">
<input type="text" id="txt" name="field1" />
<input type="submit" value="送信" />
</form>

Back to top

Information