发布后保持单选按钮值

Posted

技术标签:

【中文标题】发布后保持单选按钮值【英文标题】:keeping radio button value after post 【发布时间】:2011-03-26 15:55:29 【问题描述】:

你好

我正在使用 php 页面,我需要在发布页面后保留复选框和单选按钮(选中或未选中)的值。

我是怎么做到的?

谢谢

【问题讨论】:

【参考方案1】:

首先获取单选按钮的值。

$radiobuttonvalue = $_POST['radiobuttoname']

然后对于每个同名的单选按钮,这样做

<input type="radio" name="radiobuttonname" value="value" id="radiobuttonname" <?php if($radiobuttonvalue == "value")  echo 'checked="checked"'; ?>

【讨论】:

【参考方案2】:

你需要这样的东西:-

<?php
$postCheckboxName = '';
if (isset($_POST['checkbox_name']) || 'any_value' == $_POST['checkbox_name']) 
    $postCheckboxName = ' checked="checked"';

?>
<input type="checkbox" name="checkbox_name" value="any_value"<?php echo $postCheckboxName;?> />

<?php
$postRadioName = '';
if (isset($_POST['radio_name']) || 'any_other_value' == $_POST['radio_name']) 
    $postRadioName = ' checked="checked"';

?>
<input type="checkbox" name="radio_name" value="any_other_value"<?php echo $postRadioName;?> />

这段代码应该能让你继续前进。我基本上是在检查是否设置了复选框/单选元素的 POST 值以及相应元素的值是否与我各自元素的值匹配。

希望对你有帮助。

【讨论】:

【参考方案3】:

类似这样的:

<?php if (isset($_POST['checkbox_name']))?>
<input type="checkbox" checked="checked" value="<?php echo $_POST['checkbox_name'];?>" />
<?php ?>

<?php if (isset($_POST['radio_name']))?>
<input type="radio" checked="checked" value="<?php echo $_POST['radio_name'];?>" />
<?php ?>

检查输入变量是否在$_POST 中,如果是,则将checked="checked" 添加到输入字段以使它们被检查。

【讨论】:

【参考方案4】:

这对我有用,而且不言自明

示例代码用法:

<div class="form-group">
    <label class="radio-inline">
        <input type="radio" name="time" value="lunch" <?php if (isset($_POST[ 'time']) && $_POST[ 'time']=='lunch' )echo ' checked="checked"';?>>Lunch</label>
    <label class="radio-inline">
        <input type="radio" name="time" value="dinner" <?php if (isset($_POST[ 'time']) && $_POST[ 'time']=='dinner' )echo ' checked="checked"';?>>Dinner</label>
</div>

【讨论】:

以上是关于发布后保持单选按钮值的主要内容,如果未能解决你的问题,请参考以下文章

提交表单后保持单选按钮处于选中状态

如何在 Jquery 中禁用输入(单选)按钮内的类

MFC怎么实现按钮保持在被选中状态?

CSS:在单选按钮后对齐多行文本

当我滚动列表视图单选按钮被自动选择或取消选择无法保持单选按钮的状态

Mat单选按钮值在表单提交后没有改变