默认选中复选框html


Default check a checkbox 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> ';

插件作者表示,您过去可以默认选中复选框,但现在不行了。

由于这在谷歌上显示为"默认选中的复选框",我想我会回答它。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代码方面遇到了问题,这与问题标题完全无关。

在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'; ?>

问题不在于生成的HTML标记;与问题中一样,echo 'checked="checked" '运行良好,更简单的echo 'checked'也运行良好。

问题出在条件$checked_status上。就发布的代码而言,您正在测试一个未定义的变量。

我也遇到了同样的问题。我发现我是想把复选框放进一张表中,但忽略了和。

未检查:

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>';}

在常规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>