簡體   English   中英

如何檢查單選或復選框?

[英]How can I check if radio or checkbox is checked?

我有這個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é");
   }

但這是行不通的。想法是,如果選中了該單選按鈕,請編寫此代碼,如果選中了該單選按鈕,請編寫其他內容。

與復選框相同,其中有兩個。

有人看到我沒有看到的東西嗎? 謝謝

您正在嘗試測試是否已檢查該值。

代替:

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

采用:

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

因為cc1cc2都必須是復選框,所以它們的值不是其值:

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

您不需要document.getElementById.value僅是該對象,因此取消該.value

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM