Checkbox-ul nu se bifează când se dă click pe etichetă

20 iun. 2014, 16:04:00
Vizualizări: 51.4K
Voturi: 2

Nu sunt sigur dacă aceasta este o problemă specifică WordPress, dar când creez un formular simplu ca widget în sidebar, checkbox-ul nu se bifează când dau click pe etichetă. În mod ciudat, funcționează când am extras același formular prin get_template_part în navigație. Vreau să folosesc 'checkbox hack' care se bazează pe eticheta care trebuie să fie clicabilă. Formularul meu arată astfel:

<form action="http://email.littlefishfx.com/t/r/s/jijiat/" method="post">
    <p class="checks">
        <input id="fieldjtdktry-0" name="cm-fo-jtdktry" value="4469820" type="checkbox" /> <label for="fieldjtdktry-0"><span></span>Învață</label>
        <input id="fieldjtdktry-1" name="cm-fo-jtdktry" value="4469821" type="checkbox" /> <label for="fieldjtdktry-1"><span></span>Tranzacționează</label>
        <input id="fieldjtdktry-2" name="cm-fo-jtdktry" value="4469822" type="checkbox" /> <label for="fieldjtdktry-2"><span></span>Investește</label>
        <input id="fieldjtdktry-3" name="cm-fo-jtdktry" value="4469823" type="checkbox" /> <label for="fieldjtdktry-3"><span></span>Cheltuiește</label>
    </p>
    <p>
        <input id="fieldEmail" name="cm-jijiat-jijiat" type="email" required placeholder="Adresa ta de email" />
        <br />
        <button type="submit"><span>Abonează-te</span></button>
    </p>
</form>

Ambele formulare pot fi găsite la littlefishfx.com/contact, unul derulându-se în jos din butonul 'subscribe' din meniul principal și celălalt (același formular) în partea de jos a sidebar-ului.

Aveți vreun sfat despre de ce s-ar putea întâmpla asta? Aceleași rezultate în Chrome, Safari și Firefox (mac).

** EDITARE **

Dacă îmi împachetez checkbox-urile în etichetă astfel:

<label><input id="fieldjtdktry-0" name="cm-fo-jtdktry" value="4469820" type="checkbox" /><span></span>Învață</label>

Atunci click-ul pe etichetă funcționează peste tot. Aceasta pare o soluție de bună practică (?) dar mă lasă nedumerit în privința modului de utilizare a hack-ului checkbox pe care încercam inițial să-l implementez. Iată CSS-ul la care am lucrat:

input[type="checkbox"] {
    display:none;
}
input[type="checkbox"] + label span {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: -1px 6px 0 0;
    vertical-align: middle;
    background: url(images/checkbox-sprite.gif) left top no-repeat;
    cursor: pointer;
}
input[type="checkbox"]:checked + label span {
    background: url(images/checkbox-sprite.gif) right top no-repeat;
}
0
Toate răspunsurile la întrebare 3
0

Bine, deci în caz că acest lucru este util pentru altcineva. Tutorialul original despre checkbox hack pe care îl urmăream provine de aici.

Am rezolvat problema pe care o aveam în WordPress prin înfășurarea casetelor de bifare în etichete, astfel:

<label><input id="fieldjtdktry-0" name="cm-fo-jtdktry" value="4469820" type="checkbox" /><span></span>Învață</label>

și apoi doar ajustând selectorul CSS să citească

label input[type="checkbox"] + span {

în loc de originalul

input[type="checkbox"] + label span {

Funcționează perfect!

20 iun. 2014 16:35:54
0

Am avut aceeași problemă, dar răspunsul tău nu a rezolvat-o. Așadar, în cazul în care cineva încă se confruntă cu această provocare, asigurați-vă că eticheta pentru valoare corespunde cu ID-ul input-ului. Asta a rezolvat problema pentru mine.

Adică:

<label for="love">

<input type="checkbox" id="love"/>

credit: https://stackoverflow.com/questions/6712029/label-not-working-with-checkbox/#answer-6712054

13 dec. 2016 18:36:20
1

Reîncarcă pagina, dă click pe două și ține minte care sunt. Apoi dezactivează orice CSS. Vei vedea că ele sunt bifate. Deci ceva ciudat le stilează pe checkbox-urile tale.

Poți să descarci CSS-ul...

... în Firefox selectând "Vizualizare" > "Stil pagină" > "Fără stil"

... în Chrome instalând extensia "WebDeveloper" și selectând "CSS" > "Dezactivează tot CSS-ul"

20 iun. 2014 16:15:56
Comentarii

Obțin același rezultat cu toate stilurile dezactivate, Mike. Prima instanță a formularului funcționează corect când dau click pe etichete, dar când dau click pe o etichetă în a doua instanță, căsuța nu se bifează, pagina doar sare puțin în sus.

Kevin Nugent Kevin Nugent
20 iun. 2014 16:23:17