だるろぐ

だるいぶろぐです

form内で選択されたradioボタンの値によってaction urlを変える

  • 要件
    • form内にnameが同じでtype属性がradioな要素が複数個設置されている
    • submit時に選択されたradioボタンの値によってsubmit先のurlを動的に変更したい
<script type="text/javascript">
    function f() {
        var elements = document.getElementsByName("r");
        var act = "";
        for (var i=0, len=elements.length; i<len; i++) {
            if (elements[i].checked) {
                act = elements[i].value;
            }
        }
        if (act == "") {return}
        document.myform.action = "/base_action_url/" + act;
    }
</script>

<form method="post" name="myform" onclick="f()">
    <input type="radio" name="r" value="_h1_" />h1<br />
    <input type="radio" name="r" value="_h2_" />h2<br />
    <input type="radio" name="r" value="_h3_" />h3<br />
    <input type="submit" />
</form>
  • Q. 何でそんなことを
    • A. うるさい黙れ
  • Q. formのそもそものpost先を同一にして、その先で入力値を見て処理を分けるでは駄目なんですか
    • A. うるさい黙れ