Javascript 如何在选择选择框值时将参数作为POST数据传递,该值将重新加载同一页面?
我有两个链式选择框“pr_cat”和“sl_num”。第二个选择框的值取决于在第一个选择框中选择的值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="
<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>