我正在尝试从第一个下拉列表中动态提取第二个下拉列表值,目前我遇到一个问题,即我的第一个下拉列表所选值在每次回发时都会重置为第一个值。
就我而言[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>
最佳答案
您只是使用 javascript 访问 native 提交方法,该方法提交表单并重新加载页面。为了实现表单提交而不重新加载页面(这会导致表单重置),您需要研究 ajax api 方法。
so 函数 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
关于javascript - PHP 在邮箱后保留选择框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24578577/