当我使用javascript location.href重新加载页面时,如何在选择框中保存我选择的选项?
答案 0 :(得分:1)
页面本身没有状态,也不会记住用户重新加载时所做的任何事情。
如果您正在使用服务器端语言,您可以将值保存在服务器上的某个位置(数据库或简单的平面文件),但如果您只是使用javascript并且无法将值保存到服务器,则可以看看saving the value to a cookie,然后在页面重新加载时恢复该值。
如果你真的有冒险精神,HTML5还可以让你将内容保存到名为local storage的内容,虽然这只有更高级的浏览器支持。
答案 1 :(得分:0)
您可以使用$ _GET发送和检索选择框状态。
代码:
<form>
Select Option:<br />
<select name="foo" id="foo">
<?php echo_select(10); ?>
</select>
<input type="submit" name="submit" Value="Do location.href" onclick='return do_foo();' />
</form><br />
Press Button and on page-load, your selected value will be pre/auto-selected.
<script type=text/javascript>
function do_foo(){
var foo = document.getElementById('foo').value;
//alert("location.href is: "+document.URL+"var="+foo);
window.location.href = document.URL+"var="+foo;
return false;
}
</script>
<?php
//print_r($_GET);
function echo_select($number){
for($i=0;$i<$number;$i++){
echo "<option value=".($i+1);
if(isset($_GET["var"]) && ($_GET["var"]==($i+1))){
echo " selected=\"selected\"";
}
echo ">Text ".($i+1)."</option>";
}
}
?>
当然,此代码段假定您使用PHP生成表单代码。但是,如果您以不同方式生成和处理表单,请告诉我。