我需要使用php将html中的两个combox连接到DB,并使用combox的结果从DB获取其他信息

举个例子

<div style="margin:5px">סוג הפעילות
    <select name = "ex" id = "user" onchange="showUser(this.value)">
         <option value = "0">  </option>
     <?php while($row = mysqli_fetch_array($res)){ ?>
        <option value = "<?php echo $row['NameEx'];?>"><?php echo $row['NameEx'];}?></option>
    </select>
</div>

<div  name = "sub" id="sub" style="margin:5px"> תת פעילות</div>
<div><button class="btn btn-primary" type = "submit" name="submit1" onclick = "calc()" >חשב</button></div>


而我的JavaScript是:

    function showUser(str){

        if(str == ""){

        }else{
            var myDiv = document.getElementById("sub");
            var arr = [];
             var status = false;
            $.ajax({ //sending to DB
               url: 'subEx.php',
               type: 'post',
               data: { field:str},

               success:function(response){
                   var parsed = JSON.parse(response);
                    for(var x in parsed){
                      arr.push(parsed[x]);
                    }
                  // console.log(arr[0]);
                    //Create and append select list
            var selectList = document.createElement("select");
            selectList.setAttribute("id", "mySelect");

            myDiv.appendChild(selectList);

            //Create and append the options


            for(var i = 0 ; i <= arr.length ; i ++){
            console.log(arr[0].NameSub);

            var option = document.createElement("option");
            option.setAttribute("value", arr[i].NameSub);
            option.text = arr[i].NameSub;
            selectList.appendChild(option);




            }


        }
            });

            return true;
        }
    }


我将两个combox与数据库连接在一起,但是当我提交一个提交时,我无法访问第二个combox的值。

提交时如何获得价值并使用它?

最佳答案

您的第二个<select>标记没有name属性。因此,提交时不发送任何内容。

selectList.setAttribute("name", "name_of_select");


然后,服务器端应该有$_POST['name_of_select']可用。

另外,在HTML中,您应该具有<form>标记,以便能够提交您的值。
最后,您的while循环似乎未关闭。

<form method="post" action="action.php">
    <div style="margin:5px">סוג הפעילות
       <select name="ex" id="user" onchange="showUser(this.value)">
           <option value="0">  </option>
           <?php while($row = mysqli_fetch_array($res)){ ?>
           <option value="<?php echo $row['NameEx'];?>"><?php echo $row['NameEx'];?></option>
           <?php } /*end while */ ?>
       </select>
    </div>

    <div name="sub" id="sub" style="margin:5px"> תת פעילות</div>
    <div><button class="btn btn-primary" type="submit" name="submit1" onclick="calc()" >חשב</button></div>
</form>

10-07 14:49