8

デフォルトでチェックボックスをオンにしようとしていますが、試したすべてが機能していないようです。コードにある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>

これは、ブログのコメントを購読できるワードプレスのプラグインです。

私が試してみました

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

プラグインの作成者は、以前はデフォルトでチェックボックスをオンにできましたが、もうできないと述べています。

4

5 に答える 5

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'; ?>
于 2013-02-07T07:10:01.393 に答える
0

私も同じ問題を抱えていました。チェックボックスをテーブルに入れようとしていたが、 and を省略したことがわかりました。

チェックしませんでした:

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>';}
于 2015-01-03T16:50:44.773 に答える
0

問題は、生成される HTML マークアップにはありません。echo 'checked="checked" '、質問のように、うまく機能し、より単純なecho 'checked'.

問題は状態にあります$checked_status。投稿されたコードが考慮される限り、未定義の変数をテストしています。

于 2013-02-07T07:06:22.787 に答える
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>  
于 2015-07-01T17:26:12.577 に答える