带有表单的PHP Ajax

带有表单的PHP Ajax,php,ajax,Php,Ajax,我有一个表单,让用户选择他们来自哪里 我已通过选择框列出了国家/地区列表 我成功地完成了一次更改,并使用ajax读取了所有状态列表 实际上我有两个php文件。。一个是包含所有代码的主代码,包括表单。。另一个是生成状态列表。。我的ajax代码和表单在主php中 这是一个生成状态列表 $cID = $_GET["country"]; $sql = "SELECT * FROM States WHERE CountryID=$cID"; $result = $db->get_result

我有一个表单,让用户选择他们来自哪里

我已通过选择框列出了国家/地区列表

我成功地完成了一次更改,并使用ajax读取了所有状态列表

实际上我有两个php文件。。一个是包含所有代码的主代码,包括表单。。另一个是生成状态列表。。我的ajax代码和表单在主php中

这是一个生成状态列表

    $cID = $_GET["country"];
$sql = "SELECT * FROM States WHERE CountryID=$cID";
$result = $db->get_results($sql);
if (isset($result)) {                                 

            foreach ( $result as $states ) {
                ?>
                <input type="checkbox" name="chkState[]" value="<?=$states->StateID?>" />&nbsp;<?=$states->StateName?><br />
                <?php
            }

}
这是我读出的代码的一部分

但我的问题是

我在这里提交表格

我只知道国家的变量。。我无法将使用ajax生成的状态数据取出

我的表格样本

<form action="" name="place">
<select name="cboCountry" class="drop" onchange="showState(this.value)">
//some php code the list out the country

</select>

<div id="txtHint">

            </div> 

 <input type="submit" name="submit" value="submit" />
</form>
这里是我的ajax代码

<script>
function showState(str)
{ 
alert('xxx');
var xmlhttp;
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  } 
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("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","state_list.php?country="+str,true);
xmlhttp.send();
}
</script>

所以当我用保存按钮提交from时。。。我只知道国家和州的日期不见了。。有人能帮我吗?或者有什么方法可以做我想做的事?

你的AJAX代码非常庞大,为什么不使用jQuery?填写表单时,你看到状态复选框了吗?@ShivanRaptor jQuery可以吗?抱歉>@Barmar是的我有。。在我使用ajax之前,我使用javascrpt来改变它的功能。。。但我不想让它刷新整个页面。。所以我选择了Ajax你在选择州时使用了复选框?那么用户可以同时选择多个状态?