2017-07-20 9 views
-1

Ich habe ein Formular und ich möchte, welches Kontrollkästchen in plain JS ausgewählt wird und erhalten seinen Wert zurückgegeben. Ich bekomme es mit Radio-Buttons, aber nicht mit Checkbox und kann einfach nicht herausfinden, wie es heißen soll, wenn ich es genauso wie mit Radioknöpfen anrufe, gibt es leeren String-Code unten zurück.document.forms checkbox Wert

Beispiel mit Radiobuttons:

/*html*/ 
    <input type="radio" name="q5" value="a" id="q5a">a. test1<br> 
    <input type="radio" name="q5" value="b" id="q5b">b. test2<br> 

    /*js, gets the value which is selected either a or b as per html*/ 
    var q5 = document.forms["quizForm"]["q5"].value; 

Jetzt versuche ich dies mit Kontrollkästchen:

/*html*/ 
    <input type="checkbox" name="q6" value="c" id="q6c">c. test1<br> 
    <input type="checkbox" name="q6" value="d" id="q6d">d. test2<br> 

    /*js returns an empty string "" when either checked or both*/ 
    var q6 = document.forms["quizForm"]["q6"].value; 
+0

Verwenden Sie die boolesche Eigenschaft '.checked' anstelle von' .value' – Seblor

+0

gibt es undefined zurück – Zygimantas

Antwort

1

Checkbox Verhalten aus dem Radio unterscheidet.

var checkedValue = null; 
var inputElements = document.getElementsByName('q6'); 
for(var i=0; inputElements[i]; ++i){ 
    if(inputElements[i].checked){ 
    checkedValue = inputElements[i].value; 
    break; 
    } 
} 

got from

+0

danke das war es – Zygimantas

1

Es sollte eigentlich sein:

document.forms["quizForm"]["q5"].checked 

Und Ihre Form sollte einen Namen oder eine ID gleich haben "quizForm" z.B. <form name="quizForm" ...>