基于javascript从数据库中获取值

基于javascript从数据库中获取值,javascript,php,jquery,mysql,Javascript,Php,Jquery,Mysql,我有一个文件,我们有一个网络表单要提交。此表格中有4到5个DropDow。其中三个相互依赖。当从第一个下拉列表中选择一个值时,会有一个函数触发一个函数document.formName.submit,它刷新整个页面,执行mySql查询,并为下一个字段获取一个新值,依此类推。我不想刷新。我可以在不刷新页面的情况下执行此过程,并从数据库中获取a值 下面是代码的一部分 <div class="ca-box"> <div class="bold child1">C

我有一个文件,我们有一个网络表单要提交。此表格中有4到5个DropDow。其中三个相互依赖。当从第一个下拉列表中选择一个值时,会有一个函数触发一个函数document.formName.submit,它刷新整个页面,执行mySql查询,并为下一个字段获取一个新值,依此类推。我不想刷新。我可以在不刷新页面的情况下执行此过程,并从数据库中获取a值

下面是代码的一部分

    <div class="ca-box">
    <div class="bold child1">Country<span class="validation"> *</span></div>
    <div class="child2">
      <select id="cid" name="cid" onchange="javascript:submit_form() ;">
        <?
        $query = "SELECT * FROM country"; 
        $result = $DB->DB_Query($query); 
        ?>
        <option value="">- Select Country -</option>
        <?
        for($i = 0; $i < count($result); $i++){
            if ($cid == $result[$i]['cid']) {
                echo "<option value=\"".$result[$i]['cid']."\" selected=\"selected\">".$result[$i]['country']."</option>"; 
            } else {
                echo "<option value=\"".$result[$i]['cid']."\" >".$result[$i]['country']."</option>"; 
            }
        } ?>
      </select>
    </div>
  </div>
  <div class="ca-box">
    <div class="bold child1">Region<span class="validation"> *</span></div>
    <div class="child2">
    <? echo $_POST['cid']." ==="?>
      <select id="rid" name="rid" onchange="javascript:submit_form2();">
        <?
        $query = "SELECT * FROM region where cid=".$cid; 
        $result = $DB->DB_Query($query); 
        ?>
        <option value="">- Select Region -</option>
        <?
        for($i = 0; $i < count($result); $i++){
            if ($rid == $result[$i]['rid']) {
                echo "<option value=\"".$result[$i]['rid']."\" selected=\"selected\">".$result[$i]['region']."</option>"; 
            } else {
                echo "<option value=\"".$result[$i]['rid']."\" >".$result[$i]['region']."</option>"; 
            }
        } ?>
        <option value="Other">Other</option>
      </select>
    </div>
  </div>
  <div class="ca-box">
    <div class="bold child1">City<span class="validation"> *</span></div>
    <div class="child2">
      <select id="ccid" name="ccid">
        <?
        $query = "SELECT * FROM city where rid =".$rid; 
        $result = $DB->DB_Query($query); 
        ?>
        <option value="">- Select City -</option>
        <?
        for($i = 0; $i < count($result); $i++){
            if ($ccid == $result[$i]['ccid']) {
                echo "<option value=\"".$result[$i]['ccid']."\" selected=\"selected\">".$result[$i]['city']."</option>"; 
            } else {
                echo "<option value=\"".$result[$i]['ccid']."\" >".$result[$i]['city']."</option>"; 
            }
        } ?>
        <option value="Other">Other</option>
      </select>
    </div>
  </div>

  <script type="text/javascript">
  function submit_form(location) {
    //document.formName.type.value="location";
    //document.formName.action = document.formName.action + "#" + location
    document.formName.ccid.value = "";
    document.formName.rid.value = "";
    document.formName.submit();
    return true;
}
function submit_form2(location) {
    //document.formName.type.value="location";
    //document.formName.action = document.formName.action + "#" + location
    document.formName.ccid.value = "";
    document.formName.submit();
    return true;
}
  </script>

我建议使用jQuery进行AJAX调用,因为jQuery团队为您简化了过程

我建议在jQueryAjax和php上进行搜索,从mysql数据库中获取数据。您将发现许多资源演示如何获取您试图获取的那些值

另外,不要使用document.formName.submit检索值。Javascript是一种客户端语言,它应该能够使用AJAX检索信息,而无需提交或刷新页面

有关问题:

有关jQuery AJAX调用的更多文档,请参见:


祝你好运。

编写js,这样就不需要db查询了。使用Jquery Ajax并根据选择填写下拉列表。您可以使用下拉列表的onchange事件调用ajax函数并绑定新的下拉列表。是的,在提交时返回false并使用ajax请求获取数据。我已经尝试过了,但当我使用submit方法时,它会刷新整个页面。是否显示一些代码?