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)" にすることで期待通りの動作になりました。