質問: onclickで関数呼出し後に、結果に応じてsubmitを実行する方法 javascriptで、 function func() { if (a==0) { alert("処理しない"); return false; } return true; } と、a=0ならfalseを返し、それ以外ならtrueを返す関数を定義しています。 そして、formタグで と記述しています。 要は、ボタンを押下した際にfunc関数がtrueを返せば、next.htmlに 遷移させたいのですが、上記記述では、遷移しません・・・ onclick部分にonclick="return func(),submit();"と記述した場合、 func関数の実行結果がtrueでもfalseでも遷移してしまいます。 そこで、なんとなくonclick="return func()&&submit();"と記述してみたところ、 func関数がtrueの時のみうまく遷移するようになりました。 これは偶然そう動作しているのでしょうか、それとも上記は正しい記述方法なのでしょうか? 正しい記述方法ならいいのですが、上記以外に正式な記述方法があれば 教えていただけないでしょうか? ※type="submit"にすればいいとは思うのですが、buttonで実現したいと 考えております。
回答: >func()&&submit(); おお、この記述方は「しゃれ」てますね。 && は左側がfalseの時は、右を評価(実行)しないので、&&がtrueの時だけsubmit()を実行するわけですね。 いいんじゃないでしょうか。