html表单不是从javascript和php

时间:2015-06-21 14:27:17

标签: javascript php html forms

我有一个html表单,将数据发布到php文件进行处理,在这个表单上有一个动态生成的组合框,使用javascript从php文件生成。加载页面时,组合框显示和运行正常,但是在提交表单时,不会发布此框中的值。

JavaScript函数是

function showUser(str) {
    if (str == "") {
        document.getElementById("selSubCat").innerHTML = "";
        return;
     } else { 
         if (window.XMLHttpRequest) {
            // code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
         } else {
             // code for IE6, IE5
             xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.onreadystatechange = function() {
             if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                 document.getElementById("selSubCat").innerHTML = xmlhttp.responseText;
              }
         }
         xmlhttp.open("GET","getSubCats.php?Cat="+str,true);
         xmlhttp.send();
    }
}

html是

    <td >Category:</td>
      <td > 
        <select name="Cats" onchange="showUser(this.value)" ><?    

        $qryCats="SELECT * FROM tblCategories";
        $resCats=mysql_query($qryCats,$dbMain);
        while($rowCats = mysql_fetch_array($resCats)){
        echo "<option value='".$rowCats['Name']."'>".$rowCats['Name']."</option>";
        }
    ?>
    </select>

    </td>
    </tr>
    <tr>
    <td >Sub Category:</td>

    <td  id="selSubCat"> 
    </td>
    </tr>

和php文件:

    <? 
    include("dbconfig.php");
   $cat=$_GET['Cat'];

    $qryCats="SELECT * FROM tblSubCats WHERE Parent='" .$cat. "'";
        $resCats=mysql_query($qryCats,$dbMain);
        if ($numrow=mysql_num_rows($resCats)>0){
            echo "<select name='subCats'>";
        while($rowCats = mysql_fetch_array($resCats)){
        echo "<option value='" .$rowCats['Name']. "'>" .$rowCats['Name']. "</option>";
        }

        echo "</select>";
        }
        else{
            echo " There are no sub categories ";
        }
    ?>

任何建议都将受到赞赏,我无法弄清楚为什么除子类别以外的所有其他内容都已发布

2 个答案:

答案 0 :(得分:1)

查看name属性。在HTML Cats,但在您的代码中,您使用的是$_GET['Cat']; 它应该是

$cat=$_GET['Cats'];

答案 1 :(得分:0)

解决了,我在html页面上有一个表格,里面有表格。我交换了标签,以便表格在表格内,动态字段发布得很好。不知道为什么在表格中有一个表格会阻止这些发布,但至少它现在可以正常工作。