2017-06-29 1 views
0

Ich habe HTML-Code:Wie kann ich prüfen, ob Radio oder Checkbox aktiviert ist?

<div id="f4" class="none"> 

    <h4>Jaký tarif chcete zvolit?</h4> 
    <input type="radio" name="tarif" value="tarif1" id="t1"><label for="t1">Tarif 1</label> <br> 
    <input type="radio" name="tarif" value="tarif2" id="t2"><label for="t2">Tarif 2</label> <br> 
    <input type="radio" name="tarif" value="tarif3" id="t3"><label for="t3">Tarif 3</label> <br> 
    <h4>Co chcete aktivovat?</h4> 
    <input type="checkbox" name="akt" value="roaming" id="cc1"><label for="cc1">Roaming</label> <br> 
    <input type="checkbox" name="akt" value="platby" id="cc2"><label for="cc2">Platby</label> <p></p> 

    <input type="button" name="send" value="ODESLAT" onclick="vypisForm();"> 





    </div> 

und dies ist Teil der vypisForm Funktion:

var t1 = document.getElementById("t1").value; 
var t2 = document.getElementById("t2").value; 
var t3 = document.getElementById("t3").value; 
var cc1 = document.getElementById("cc1").value; 
var cc2 = document.getElementById("cc2").value; 

if(t1.checked) { 
    document.write("Zvolený tarif je: "+ t1 + "<br>"); 
    } else if(t2.checked) { 
    document.write("Zvolený tarif je: "+ t2 + "<br>"); 
    } else { 
    document.write("Zvolený tarif je: "+ t3 + "<p></p>"); 
    } 

    document.write("Zvolili jste tyto služby:" + "<br>"); 
    if (cc1.checked) { 
    document.write(cc1 + "<br>"); 
    } else if (cc2.checked) { 
    document.write(cc2 + "<br>"); 
    } else if(cc1.checked && cc2.checked) { 
    document.write(cc1 + "<br>"); 
    document.write(cc2 + "<br>"); 
    } else if(!cc1.checked && !cc2.checked) { 
    document.write("Žádné"); 
    } 

Aber es funktioniert nicht .. Idee ist, dass, wenn das Optionsfeld aktiviert ist, schreiben Sie diese und wenn das Optionsfeld Schreib eine andere Sache geprüft ..

das Gleiche gilt für die Kontrollkästchen gibt es zwei von denen ..

jemand, was Sieht I d o nicht ?? Danke

+1

Nun, Sie verweisen auf den Wert und Sie betrachten den überprüften Wert dieser Zeichenfolge ..... Und Sie sollten nicht verwenden document.write. – epascarello

+0

ok danke .. das ist nur zur überprüfung, dass ich die richtigen daten bekomme .. –

Antwort

0

document.getElementById ("t1"). Value ruft den Wert der Eingabe ab, behält jedoch den Status "checked" nicht bei. Hier ist was du machen willst.

var t1 = document.getElementById("t1"); 
var t2 = document.getElementById("t2"); 
var t3 = document.getElementById("t3"); 
var cc1 = document.getElementById("cc1"); 
var cc2 = document.getElementById("cc2"); 
if(t1.checked) { 
    document.write("Zvolený tarif je: "+ t1.value + "<br>"); 
} else if(t2.checked) { 
    document.write("Zvolený tarif je: "+ t2.value + "<br>"); 
} else { 
    document.write("Zvolený tarif je: "+ t3.value + "<p></p>"); 
} 

document.write("Zvolili jste tyto služby:" + "<br>"); 
if (cc1.checked) { 
    document.write(cc1.value + "<br>"); 
} else if (cc2.checked) { 
    document.write(cc2.value + "<br>"); 
} else if(cc1.checked && cc2.checked) { 
    document.write(cc1.value + "<br>"); 
    document.write(cc2.value + "<br>"); 
} else if(!cc1.checked && !cc2.checked) { 
    document.write("Žádné"); 
} 
+0

danke es funktioniert .. aber was wenn ich nicht wertattribut anzeigen möchte, aber label dieses radio button? –

+0

Wenn Sie für Ihre Eingaben das Feld 'for' und' id' verwenden, könnten Sie folgendes tun: 'if (t1.checked) { var label = document.querySelector ('label [für =' + t1.id + ' ']'; document.write ("Zvolený tarif je:" + label.innerHtml + "
"); } ' – Viandoks

+0

wenn ich deinen Code benutze sagt es undefined .. und ich musste eine Quation Mark löschen .. :) –

0

Sie versuchen zu prüfen, auf den Wert überprüft.

Statt:

var cc1 = document.getElementById("cc1").value; 

Verwendung:

var cc1 = document.getElementById("cc1").checked; 
if (cc1) { 
    document.write(cc1 + "<br>"); 
} 
0

Da sowohl cc1 und cc2 haben die Kontrollkästchen themsevles nicht ihre Werte sein:

var cc1 = document.getElementById("cc1"); 
//          ^^^ remove .value 
0

Sie brauchen nicht die .value in der document.getElementById nur das Objekt, also nimm die .value ab und es sollte funktionieren.

Verwandte Themen