Shammer's Philosophy

My private adversaria

JavaScript の処理を途中で止める

ある text box に値が入力されている場合だけ JavaScript の処理を進める、というような意図で以下のような JavaScript を書いていた。

function sendForm(form){
    if ( form.id.value == '' ){
	window.alert('TextBox is null');
    }
    else {
	action_url = "https://xxx/?id=" + form.id.value;
	form.method = 'POST';
	form.target = '_blank';
	form.action = action_url;
	form.submit();
    }
}

これを呼出す form 側はこんな感じ。

<input type="submit" value="Submit" onClick=" sendForm(formName)"/>

しかし、window.alert('TextBox is null') が動作しても、そのまま POST を実行しているようで、期待している動作にはならなかった。どうすればいいかと思っていたら、、、全く同じことをやっている人がいました。
onsubmitやonclickで処理を中断させる方法(return false) - (゚∀゚)o彡 sasata299's blog
こちらのサイトを参考に、onclick="return sendForm(formName)" にすることで期待通りの動作になりました。