如何检查收音机或复选框是否被选中?
我有这样的HTML代码:如何检查收音机或复选框是否被选中?
<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>
,这是vypisForm功能的一部分:
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é");
}
但它不工作..想法是,如果单选按钮被选中,写和如果单选按钮被选中写另一回事..
与相同的复选框,有两个那些..
有谁看到I D o不?谢谢
document.getElementById(“t1”)。value获取输入的值,但不保持其检查状态。这是你想要做的。
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é");
}
谢谢它的作品..但是如果我想显示不是价值属性,但该单选按钮的标签? –
如果您为输入使用'for'和'id'字段,您可以这样做: 'if(t1.checked){var_type = ''''; document.write(“Zvolenýtarif je:”+ label.innerHtml +“
”); }' –
Viandoks
当我使用您的代码它说undefined ..我不得不删除一个quation标记.. :) –
您正试图检查值的检查。
相反的:
var cc1 = document.getElementById("cc1").value;
用途:
var cc1 = document.getElementById("cc1").checked;
if (cc1) {
document.write(cc1 + "<br>");
}
因为无论cc1
和cc2
必须是复选框themsevles不是他们的价值观:
var cc1 = document.getElementById("cc1");
// ^^^ remove .value
你不需要在document.getElementById
中的.value
只是对象,所以关闭.value
,它应该工作。
那么你引用的值,你正在查看该字符串的选中值.....而你不应该使用document.write。 – epascarello
好的谢谢..这只是为了检查,我得到正确的数据.. –