我有两个链接的选择框"pr_cat"answers"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>
我使用表单重载javascript来重新加载页面,其中包含在选择框中选择的值。我使用了GET方法。
<script language=JavaScript>
function reload(form)
{
var val=form.pr_cat.options[form.pr_cat.options.selectedIndex].value;
self.location='delivery.php?pcat=' + val ;
}
function reload2(form)
{
var val=form.pr_cat.options[form.pr_cat.options.selectedIndex].value;
var val2=form.sl_num.options[form.sl_num.options.selectedIndex].value;
self.location='delivery.php?pcat=' + val + '&pcat2=' + val2 ;
}
</script>
但是我想用POST的方法来做这件事怎么做呢?
如果你不想使用ajax,而是通过POST方法来实现,那么就不用
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>
注意:-如果你在这个表单中有任何提交按钮,不要将其名称保留为提交,否则你的代码会有问题。
我想你要问的基本上是:JavaScript发布请求,就像表单提交一样
但是,为什么要重新加载页面,而不是进行AJAX调用呢?
我给你最简单、最快的方法来做你想做的事,
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>
在第一个选择框中进行更改时调用populate_second_select()
函数。ajax、中没有
function populate_second_select(value)
{
$.ajax({
method:'POST',
url:'ajax.php',
data: {value:value},
success:function(result)
{
document.getElementById("second_select").innerHTML=result;
showLightBox();
}
});
}
这就是javascript函数的样子,
在您的ajax.php文件中,根据所选值处理DB,并"echo"整个select标记(第二个标记)。就是这样。
这里有几个链接可以帮助你完成这项工作。
Link_1Link_2