Javascript 如何在选择选择框值时将参数作为POST数据传递,该值将重新加载同一页面?

Javascript 如何在选择选择框值时将参数作为POST数据传递,该值将重新加载同一页面?,javascript,php,jquery,html,mysql,Javascript,Php,Jquery,Html,Mysql,我有两个链式选择框“pr_cat”和“sl_num”。第二个选择框的值取决于在第一个选择框中选择的值 <tr> <td width="257">Select Product Category:</td> <td width="197"> <select name="pr_cat" id="Validprcat" onChange="reload(this.form)"><option value="

我有两个链式选择框“pr_cat”和“sl_num”。第二个选择框的值取决于在第一个选择框中选择的值

<tr>
    <td width="257">Select Product Category:</td>
    <td width="197">
        <select name="pr_cat" id="Validprcat" onChange="reload(this.form)"><option value="">< Select one ></option>
        <?php while($prd=mysql_fetch_object($select_query1)) { 
        if ($prd->cat_id==$pcat) { ?>
    <option selected value="<?php echo $prd->cat_id?>"><?php echo $prd->category_name?> </option>
    <?php } else { ?>
       <option value="<?php echo $prd->cat_id?>"><?php echo $prd->category_name?></option>
      <?php }}?>
    </select>
    </td>
  </tr>
 <tr>
    <td>Select Serial Number:</td>
    <td>

    <select name="sl_num"  id="Validslnum" onChange="reload2(this.form)"><option value="">< Select one ></option>
        <?php while($slnum=mysql_fetch_object($quer)) { 
              if ($slnum->serialno==$pcat2) { ?>
    <option selected value="<?php echo $slnum->serialno?>"><?php echo $slnum->serialno?> </option>
    <?php } else {
     ?>

        <option  value="<?php echo $slnum->serialno?>"><?php echo $slnum->serialno?></option>
        <?php }} ?>
    </select>
    </td>
  </tr>
<tr>

选择产品类别:
<选择一个>

我想你问的差不多是:


但是,为什么要重新加载页面而不是执行AJAX调用呢?

我为您提供了最简单、最快速的方法来完成您想要的任务

阿贾克斯:

用“”标记覆盖两个选择框

这就是javascript函数的外观

在ajax.php文件中,根据所选的值处理数据库,并“回显整个select标记(第二个标记)。就这样

这里有几个链接可以帮助您完成这项工作


如果您不想使用ajax,请使用POST方法,因此不要使用

 onChange="reload(this.form)"  
召唤

onChange=“formSubmit();”
函数formSubmit()
{
document.getElementById(“frm1”).submit();//frm1是表单id
//或者你可以使用
//document.frm1.submit();//frm1是表单名称
}

注意:-如果您在此表单中有任何提交按钮,请不要将其名称保留为submit,否则您的代码中会有问题。

虽然您的代码是正确的,但注意部分是混乱的,提交按钮名称将如何产生问题:)只有将提交按钮命名为name='submit',您才能得到问题,这已经发生在我身上两次了,重命名按钮后,它工作正常。这不应该发生,因为提交按钮名称不会反映任何问题。我自己有使用提交作为提交按钮名称的习惯,从来没有遇到过任何问题。我也想用AJAX来完成它,但无法解决它。
<div id='first_select'>
   <select id='first' onchange='populate_second_select(this.value)'>
   <option>Select</option>
   </select>
</div>

<div id='second_select'>
   <select>
   <option>Select</option>
   </select>
</div>
function populate_second_select(value)
            { 

                $.ajax({
                                method:'POST',
                                url:'ajax.php',
                                data: {value:value},
                                success:function(result)
                                {
                                    document.getElementById("second_select").innerHTML=result;
                                    showLightBox();
                                }
                            });
            }
 onChange="reload(this.form)"  
 onChange="formSubmit();"


<script>
function formSubmit()
{
  document.getElementById("frm1").submit(); //frm1 is form id
      //OR you can use
  //document.frm1.submit(); //frm1 is form name
}
</script>