默认选中复选框html

时间:2013-02-07 06:51:42

标签: php html

我正在尝试默认选中一个复选框,但我尝试的所有内容似乎都不起作用。我不知道它是否与代码中的PHP有关。

function show_subscription_checkbox ($id='0') {
    global $sg_subscribe;
    sg_subscribe_start();

    if ( $sg_subscribe->checkbox_shown ) return $id;
    if ( !$email = $sg_subscribe->current_viewer_subscription_status() ) :
        $checked_status = ( !empty($_COOKIE['subscribe_checkbox_'.COOKIEHASH]) && 'checked' == $_COOKIE['subscribe_checkbox_'.COOKIEHASH] ) ? true : false;
    ?>   
<p <?php if ($sg_subscribe->clear_both) echo 'style="clear: both;" '; ?>class="subscribe-to-comments">
        <input type="checkbox" name="subscribe" id="subscribe" value="subscribe" style="width: auto;" <?php if ( $checked_status ) echo 'checked="checked" '; ?>/>

        <label for="subscribe"><?php echo $sg_subscribe->not_subscribed_text; ?></label>
        </p>

这是一个wordpress插件,允许您订阅博客评论。

我试过了

echo 'checked=\"checked\" ';
echo 'checked="checked" ' ;
echo 'checked> ';

插件作者声明您以前可以默认选中复选框但不能再查看。

5 个答案:

答案 0 :(得分:29)

由于这是在谷歌出现“默认选中复选框”,我想我会回答它。 Alpay是对的:默认情况下确保选中复选框的正确方法是这样的(后跟一个未检查的示例):

<input type="checkbox" name="vehicle" value="Car" checked> I have a car    
<input type="checkbox" name="vehicle" value="Bike"> I have a bike

w3schools找到答案。原始问题的作者遇到了他的PHP代码问题,这与问题标题完全无关。

答案 1 :(得分:4)

在HTML中,如果您希望默认选中复选框,请参阅以下内容;

<input type="checkbox" name="name1" value="uc"> This checkbox is unchecked <br>
<input type="checkbox" name="name2" value="c" checked> This checkbox is checked<br>

因此,您可以考虑更改

<?php if ( $checked_status ) echo 'checked="checked" '; ?>

<?php if ( $checked_status ) echo 'checked'; ?>

答案 2 :(得分:0)

问题不在于生成的HTML标记; echo 'checked="checked" ',如同问题一样,运作良好,更简单echo 'checked'

问题在于条件$checked_status。您正在测试未定义的变量,只要考虑发布的代码。

答案 3 :(得分:0)

我遇到了同样的问题。我发现我试图把复选框放到一张桌子里,但是遗漏了和。

未检查:

if(!$stump){echo '<input type="checkbox" name="stump" value="stump" checked="checked"><b> Stump Job!</b>';}

检查:

if(!$stump){echo '<td><input type="checkbox" name="stump" value="stump" checked="checked"><b> Stump Job!</b></td>';}

答案 4 :(得分:0)

在常规PHP中,您可以使用它在提交后“保存”已检查的状态。

<form name="checkbox" method="post" action="#" >
<input type="checkbox" name="checkbox1" value="Bike" <?php if ($_POST['checkbox1']=="Bike") echo "checked";?>>I have a bike
<input type="checkbox" name="checkbox2" value="Car" <?php if ($_POST['checkbox2']=="Car") echo "checked";?>>I have a car 
<input type="submit" name="submit" value="Display this Data" />

如果您想在提交后将此数据用于其他内容,只需添加:

<?php
   if(isset($_POST['checkbox1']) OR isset($_POST['checkbox2']) ) 
   {
    echo "for 1 : ".$_POST['checkbox1']."for 2: ".$_POST['checkbox2'];
   }
?>

如果你想清除表格(基本上清除所有的帖子数据)你可以添加:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="submit" name="Clear all form data" value= "Clear this form">
</form>