我正在尝试从第一个下拉列表中动态提取第二个下拉列表值,我目前遇到的问题是我的第一个下拉列表选择值正在重置为每次回发时的第一个。
就我而言[php useadvancedfilter] is <?php and [php useadvancedfilter] is ?>
$dateofcoupon = $_POST["dateofcoupon"];
<form id="form1" name="form1" action="<?php $_SERVER['PHP_SELF']?>" method="post">
<select name="dateofcoupon" onchange="run()" id="dateofcoupon">
[php useadvancedfilter]
while($fetch_couponalldetais = mysql_fetch_array($getcouponalldetais )){
$checkcoupon = $fetch_couponalldetais['coupon-date']
[/php useadvancedfilter]
<option [php useadvancedfilter] if(isset($dateofcoupon) && $dateofcoupon==$fetch_couponalldetais['coupon-date']) echo "selected"; [/php useadvancedfilter] value="[php useadvancedfilter] echo $fetch_couponalldetais['coupon-date']; [/php useadvancedfilter]">[php useadvancedfilter] echo $fetch_couponalldetais['coupon-date']; [/php useadvancedfilter]</option>
[php useadvancedfilter]
}
[/php useadvancedfilter]
</select>
</form>
使用JavaScript提交表单
<script>
function run(){
document.getElementById("form1").submit();
}
document.getElementById("dateofcoupon").value = "<?php echo $_POST['dateofcoupon'];?>";
</script>
答案 0 :(得分:1)
您只是使用javascript访问本机提交方法,该方法提交表单并重新加载页面。为了在不重新加载页面的情况下实现表单提交(这是导致表单重置的原因),您需要查看ajax api方法。
所以函数run()
可以用简单的jQuery函数替换。像这样的东西:
$(function(){ //document.ready() shortcut
$('#form1').submit( function(){ //the submit event
var QueryString = $(this).serialize(); //get the form values
$.post('your-url.php',QueryString, function(data){ //post the form with the querystring, then setup the callback
alert(data);//your data callback
});
return false;//prevent native browser form submission
});
});
有关使用jquery的ajax方法的更多信息,请参阅:
<强> jquery post 强>
<强> jquery ajax 强>
<强> jquery get 强>
<强> jquery getjson 强>