2013-02-07 9 views
7

Ich versuche, ein Kontrollkästchen standardmäßig aktiviert, aber alles, was ich versucht habe, scheint nicht zu funktionieren. Ich weiß nicht, ob es mit dem PHP im Code zu tun hat.Standard check ein Kontrollkästchen html

Dies ist ein WordPress-Plugin, mit dem Sie Blog-Kommentare abonnieren können.

Ich habe versucht,

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

Das Plugin Autor stellt fest, dass Sie in der Lage verwendet, um die Checkbox auf Standard überprüfen aber nicht mehr.

Antwort

0

Das Problem ist nicht in der HTML-Markup generiert wird; echo 'checked="checked" ', wie in der Frage, funktioniert gut, und so würde der einfachere echo 'checked'.

Das Problem ist mit der Bedingung $checked_status. Sie testen auf eine Variable, die nicht definiert ist, sofern der Code berücksichtigt wird.

+0

Ich denke, ich sollte den Code, der über dem steht, was ich ursprünglich gepostet habe. Ich habe meinen Beitrag mit mehr Code aktualisiert. – myladeybugg

+0

Sie haben jetzt einen Code hinzugefügt, der auf ein gesetztes Cookie prüft.Es gibt keinen Hinweis darauf, wo es tatsächlich gesetzt werden könnte. –

+0

Hmm. Das geht mir ein bisschen über den Kopf. Soweit ich das beurteilen kann, ist das der einzige Code, der mit der Checkbox verbunden ist. Gibt es eine Möglichkeit, die gesamte Datei zu teilen? Neben dem Kopieren und Einfügen des gesamten Codes? Ich habe vielleicht etwas vergessen. – myladeybugg

4

Wenn Sie in HTML standardmäßig ein Kontrollkästchen aktivieren möchten, lesen Sie Folgendes;

<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> 

So könnten Sie

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

zu

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

Danke für die Hilfe, aber das hat auch nicht funktioniert. – myladeybugg

+0

Sind Sie sicher, dass Ihr '$ checked_status = (! Leer ($ _ COOKIE ['subscribe_checkbox _'. COOKIEHASH]) && 'geprüft' == $ _COOKIE ['subscribe_checkbox _'. COOKIEHASH])? true: false; 'Zeile wird ausgeführt, bevor der HTML-Code analysiert wird? – Alpay

+0

ist das w3c konform? nicht sicher –

26

Da dies erwägen ändert zeigt sich in Google nach "standardmäßig aktiviert Checkbox", dachte ich, ich sie beantworten würde. Alpay hatte recht: Der richtige Weg, um sicherzustellen, dass ein Kontrollkästchen standardmäßig aktiviert ist, wie so ist (gefolgt von einem Beispiel eines, das nicht markiert ist):

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

Antwort auf w3schools gefunden wurde. Der Autor der ursprünglichen Frage hatte Probleme mit seinem PHP-Code, der überhaupt nicht auf den Fragetitel bezogen ist.

0

Ich hatte das gleiche Problem. Ich fand heraus, dass ich versuchte, die Checkbox in einen Tisch zu legen, aber die und.

hat überprüfen nicht:

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

geprüft:

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

In regelmäßigen PHP Sie dies den Überprüfungsstatus "speichern" verwenden, kann nach seiner vorgelegt.

<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" /> 

wenn Sie für etwas anderes, diese Daten verwenden, nachdem die einreichen, fügen Sie einfach:

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

wenn Sie das Formular (im Grunde klar, alle Post-Daten) löschen möchten, können Sie hinzufügen:

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