2011-09-08 100 views
0

我正在使用单选按钮对分页结果进行排序。但是,无论何时单击并自动提交按钮,它都会被取消选中。我想保持选中的按钮,以便用户知道他们选择了哪一个。我怎样才能做到这一点?自动提交单选按钮,但保持选中状态

以下是我有:

function autoSubmit() { 
    var formObject = document.forms['theForm']; 
    formObject.submit(); 
} 

<input type="radio" name="sort" value="time" onChange="autoSubmit();" /> 
<input type="radio" name="sort" value="year" onChange="autoSubmit();" /> 
<input type="radio" name="sort" value="name" onChange="autoSubmit();" /> 

if(isset($_GET["sort"])) { 
    $sort = $_GET["sort"]; 
} 
+0

如果你想每次提交表单的用户变化的东西,你可能会想用Ajax解决方案,所以页面不会重新加载每次(它会提供更好的用户体验)。 – NLemay

回答

2

我相信,你的代码是这样的:

<?php 
$sort = ""; 
if(isset($_GET["sort"])) 
{ $sort = $_GET["sort"]; } 
?> 
<html> 
<head> 
<script> 
function autoSubmit() 
{ 
    var formObject = document.forms['theForm']; 
    formObject.submit(); 
} 
</script> 
</head> 
<body> 
<form name='theForm' id='theForm'> 
    <input type="radio" name="sort" <?php if ($sort == 'upload_time') { ?>checked='checked' <?php } ?>value="upload_time" onChange="autoSubmit();" />Recently Uploaded 
    <input type="radio" name="sort" <?php if ($sort == 'article') { ?>checked='checked' <?php } ?> value="article" onChange="autoSubmit();" /> Alphabetically 
    <input type="radio" name="sort" <?php if ($sort == 'year') { ?>checked='checked' <?php } ?> value="year" onChange="autoSubmit();" /> Most Recent 
</form> 
</body> 
</html> 
+0

+1 - 比我的回答更好,因为我不太了解php。 :)这是我的想法! – gilly3

+0

我不会发送答案,因为你的答案是正确的!但我只是想给出一个更完整的答案。 – 2011-09-08 17:24:23

+0

顺便说一句,谢谢你的投票。现在我可以对其他答案发表评论。我一直在等待! hahaha =) – 2011-09-08 17:26:16

1

做到这一点的服务器端。在所选的单选按钮中设置属性checked="checked"