如何检查是否选中了收音机或复选框?

时间:2017-06-29 14:28:18

标签: javascript html forms

我有这个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é");
   }

但是它不起作用..想法是如果选中那个单选按钮,写下这个,如果选中那个单选按钮,写下另一个东西..

与复选框相同,有两个..

有人看到我不知道的事吗?感谢

4 个答案:

答案 0 :(得分:0)

您正在尝试测试检查值。

而不是:

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

使用:

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

答案 1 :(得分:0)

因为cc1cc2都必须是复选框,所以它们不是它们的值:

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

答案 2 :(得分:0)

.value只需要对象中的document.getElementById,所以请关闭.value,它应该可以正常工作。

答案 3 :(得分:0)

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é");
}