javascript 複数あるsubmitで条件分岐
2010/11/12
流れとして、ボタンが押されたら適当な要素(hiddenとか)に値を入れる。
次に、通常の処理をする。
ボタンが押されたら適当な要素(hiddenとか)に値を入れる
値をセットして、submitされたときの処理の準備。
- <form name=”getMyForm” id=”getMyForm”>
- <input type=”submit” name=”btn” id=”btn” value=”aaa” onClick=”setSbmt(‘aaa’)”>
- <input type=”submit” name=”btn” id=”btn” value=”bbb” onClick=”setSbmt(‘bbb’)”>
- </form>
これでsubmitされたら、setSbmt()が走る。下はsetSbmt()の中身。
内容は「name=”getMyForm”」という<form>の「name=”onbtn”」のvalueに引数を代入。
- function setSbmt(sVal){
- document.getMyForm.onbtn.value = sVal;
- }
ということで「name=”onbtn”」を作ってあげる。見える必要は無いのでhiddenにしておく。
これらをまとめると下記。
- <script type=”text/javascript”>
- function setSbmt(sVal){
- document.getMyForm.onbtn.value = sVal;
- }
- </script>
- <form name=”getMyForm” id=”getMyForm”>
- <input type=”submit” name=”btn” id=”btn” value=”aaa” onClick=”setSbmt(‘aaa’)”>
- <input type=”submit” name=”btn” id=”btn” value=”bbb” onClick=”setSbmt(‘bbb’)”>
- <input type=”hidden” name=”onbtn” id=”onbtn”>
- </form>
通常の処理
<form>でonsubmitされたときってやれば通常の処理として扱える。
- <script type=”text/javascript”>
- function setSbmt(sVal){
- document.getMyForm.onbtn.value = sVal;
- }
- function sndSbmt(){
- &nsbsp;//好きな処理
- }
- </script>
- <form name=”getMyForm” id=”getMyForm” action=”#” onsubmit=”sndSbmt();return false;”>
- onsubmit=”return sndSbmt();”としてもok。必要に応じて使い分ける
- <input type=”submit” name=”btn” id=”btn” value=”aaa” onClick=”setSbmt(‘aaa’)”>
- <input type=”submit” name=”btn” id=”btn” value=”bbb” onClick=”setSbmt(‘bbb’)”>
- <input type=”hidden” name=”onbtn” id=”onbtn”>
- </form>