2011-04-21 71 views

回答

1

页面本身没有状态,并且不会记住用户在重新加载时所做的任何操作。

如果您也使用服务器端语言,那么您可以将该值保存在服务器上的某个位置(数据库或简单平面文件),但是如果您只有javascript并且无法将值保存到服务器上可以查看saving the value to a cookie,然后在页面重新加载时恢复该值。

如果你觉得真的很冒险,HTML5还可以让你将内容保存到local storage之类的东西,尽管只有更高级的浏览器才支持。

0

您可以使用$ _GET发送和检索选择框状态。

Live Demo

代码:

<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来生成表单代码。但是让我知道你是否以不同的方式生成和处理你的表单。

相关问题