-1

データベースにデータを入力しようとしていますが、どのラジオ ボタンも固執していません。それらを何に変更しても、それらは同じままです。最初はうまくいきます(最初のボタンが何であれ、正常に表示されます)。

<script type="text/javascript">
    $(document).ready(function () {
        $('#loadingstart').hide();
    });

    function walle() {
        $('#loadingstart').show();
        var product_id_array = $('#product_id_array').val();
        var position = $('#position').val();

        var URL = "./includes/user-course-settings.php"; /////post.php will be equal the variable "comment"

        $.post(URL,
            {
                walle: "post",
                username1: username,
                position1: position,
                navpos1: navpos
            },
            function (data) {//parameter wall will be equal "post", name1 will be equal to the var "name" and comment1 will be equal to the var "comment"
                $("#startOver").prepend(data).show();// the result will be placed above the the #result div
                $('#loadingstart').hide();
            });
    }
</script>

MYSQLI は最初にデータベースに入るため、特に問題はないと思います。問題は、値を何を選択しても、グループ化されたラジオ ボタン内の最初の選択肢が保持されることです。

 <div id="form">
        <form>
            <input type="hidden" id="product_id_array" value="'.$product_id_array.'" />
            <div class="separateFormInput">
                <div class="radioFormQuestion">position</div>
                <div class="leftyRadio">
                    <li>
                        <input type="radio" id="position" name="position" value="left" checked="checked" />left</li>
                    <li>
                        <input type="radio" id="Radio1" name="position" value="center">center</li>
                    <li>
                        <input type="radio" id="Radio2" name="position" value="right">right</li>
                </div>

                <br />
                <hr>
            </div>
            <div class="separateFormInput">
                <div class="radioFormQuestion">Nav Position?</div>
                <div class="leftyRadio">

                    <li>
                        <input type="radio" name="navpos" value="Left" checked="checked" />Left</li>
                    <li>
                        <input type="radio" name="navpos" value="Center">Center</li>
                    <li>
                        <input type="radio" name="navpos" value="Right">Right</li>
                </div>

                <br />
                <hr>
            </div>
            <!--submit form here-->            
                       <div class="submit" id="textRight">
                           <input type="submit" name="button" id="button" value="Submit" onclick="return false" onmousedown="javascript:walle();" />
                           <img src="https://www.mysite.com/images/loading.gif" alt="" width="15" height="15" id="loadingstart" />

                       </div>
            <div id="startOver" style="clear: both; font-weight: normal; font-size: 12px;"></div>
        </form>
    </div>
4

1 に答える 1

1

別の要素と同じ ID を持つページに html 要素を追加することはできません。

すべての id が position の 3 つのラジオ ボタンは有効な html ではありません。

だからこうやって

$('#position').val();

IDは一意でなければならないため、複数の要素が見つかることはありません

ID を削除し、この jquery メソッドを介して選択されている ID を取得します

$('input[name=position]:checked').val();

つまり、チェックされたラジオ ボタンの値を取得します。それらはすべて常に値がチェックされているかどうかにかかわらず

またはクラスを使用する

于 2013-08-13T04:59:36.240 に答える