• ベストアンサー

【JavaScript】ラジオボタンにより、formのaction内容

【JavaScript】ラジオボタンにより、formのaction内容を変更したいのですが・・・。 どのラジオボタン(ここでは『A』と『B』とします)をチェックされたかにより、 <form action="(ここの部分)"> (ここの部分)と書かれたformのactionの内容を変えたいのです。 例) 『A』のラジオボタンをチェック → <form action="a.php">になる 『B』のラジオボタンをチェック → <form action="b.php">になる このようにしたいのです。 どうかよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • pawn0105
  • ベストアンサー率100% (1/1)
回答No.1

function gamenchange(){ if (document.myform.radio01.value=="1"){ document.myform.action="a.php"; }else{ document.myform.action="b.php"; } document.myform.submit(); } ---------------------- <form action="#" method="post"> <input type="radio" name="radio01" value="1">ラジオボタンA <input type="radio" name="radio01" value="2">ラジオボタンB <input type="submit" onclick="gamenchange()"> </form> ---------------------- submitボタンを押したときにfunctionでaction先をセットする・・・のはいかがでしょう?

koucha714
質問者

お礼

早速の回答ありがとうございます。 お蔭様で上手くページを分岐させることが出来ました。 実はheaderやinclude等を使おうともしていたのですが、 それだとpostの内容を渡すことが出来なかったもので・・・。 助かりました、本当にありがとうございました!

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

onsubmitで処理するのが吉 <script> function check(f){ var r=f.elements["r"]; var flg=false; var list={"A":"a.php","B":"b.php","C":"c.php"}; for(var i=0;i<r.length;i++){ if(r[i].checked){ f.action=list[r[i].value]; flg=true; break; } } if(!flg) alert("チェックしてね") return flg; } </script> <form onSubmit="return check(this)"> <input type="radio" name="r" value="A">A <input type="radio" name="r" value="B">B <input type="radio" name="r" value="C">C <input type="submit" value="go"> </form>

koucha714
質問者

お礼

毎度毎度、ありがとうございます。 今回は、早く回答してくださった方にベストアンサーをつけさせていただきました。 yambejpさんのコードでも動作確認が出来ました。 ありがとうございました。

関連するQ&A