admin管理员组

文章数量:1323330

I am using radio buttons to sort through paginated results. However, whenever the button is clicked and auto-submitted, it bees unselected. I want to keep the button selected so that the user knows which one they selected. How can I do that?

Here is what I have:

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"];
}

I am using radio buttons to sort through paginated results. However, whenever the button is clicked and auto-submitted, it bees unselected. I want to keep the button selected so that the user knows which one they selected. How can I do that?

Here is what I have:

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"];
}
Share edited Nov 30, 2012 at 21:39 JSW189 asked Sep 8, 2011 at 16:55 JSW189JSW189 6,33512 gold badges46 silver badges73 bronze badges 1
  • If you want to submit your form each time the user change something, you might like to use an ajax solution, so the page won't reload each time (it will give a better user experience). – NLemay Commented Nov 16, 2012 at 16:38
Add a ment  | 

2 Answers 2

Reset to default 5

I presume that your code is something like this:

<?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>

Do this server-side. Set the attribute checked="checked" in the radio button that is selected.

本文标签: javascriptAutosubmit a radio button but keep it selectedStack Overflow