Php 默认选中复选框html
我试图在默认情况下选中一个复选框,但我尝试的一切似乎都不起作用。我不知道这是否与代码中的PHP有关Php 默认选中复选框html,php,html,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->curren
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>
插件作者声明,您过去可以默认选中复选框,但现在不能了。问题不在生成的HTML标记中
echo'checked=“checked”
与问题中一样,工作正常,更简单的echo'checked'
也可以
问题在于条件
$checked\u status
。就发布的代码而言,您正在测试一个未定义的变量。在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>
此复选框未选中
选中此复选框
<>所以,你可以考虑改变< /P>
<?php if ( $checked_status ) echo 'checked="checked" '; ?>
到
既然这是谷歌上显示的“默认选中复选框”,我想我应该回答它。Alpay是正确的:确保默认选中复选框的正确方法如下(后面是未选中复选框的示例):
我有一辆车
我有一辆自行车
答案是在上面找到的。原始问题的作者在PHP代码方面遇到了问题,而PHP代码与问题标题完全无关。我也遇到了同样的问题。我想我是想把复选框放在一张表中,但忽略了和 没有检查:
if(!$stump){echo '<input type="checkbox" name="stump" value="stump" checked="checked"><b> Stump Job!</b>';}
if(!$stump){echo'stump Job!';}
检查:
if(!$stump){echo '<td><input type="checkbox" name="stump" value="stump" checked="checked"><b> Stump Job!</b></td>';}
if(!$stump){echo'stump Job!';}
在普通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'];
}
?>
如果要清除表单(基本上清除所有post数据),可以添加:
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="submit" name="Clear all form data" value= "Clear this form">
</form>
我想我应该发布比我最初发布的代码更多的代码。我已经用更多的代码更新了我的帖子。您现在添加了测试正在设置的cookie的代码。没有迹象表明它实际上可能被设置在哪里。这让我有点不知所措。据我所知,这是唯一与复选框关联的代码。有没有办法共享整个文件?除了复制和粘贴所有代码?我可能遗漏了什么。您确定您的$checked\u status=(!empty($\u COOKIE['subscribe\u checkbox.'.COOKIEHASH])&&&'checked'=$\u COOKIE['subscribe\u checkbox..COOKIEHASH])?真:假代码>行在解析html之前执行?是否符合w3c?不sure@Alpay我直接从插件文件复制了代码。作者说你过去可以勾选默认框,但现在这已经不是一个选项了?。但我想一定有办法。:)
<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>