簡體   English   中英

使用Java進行單選按鈕驗證的設置

[英]set of radio button validation using Javascript

我正在嘗試使用JavaScript驗證2套單選按鈕。 它可以使用一個收音機,但是不能添加另一個收音機(第二位訪問者)。 這是我的代碼:

HTML:

<form name="form1" action="#" method="post"> 
    First time visitor?:<br/>
    <label for="s1">Yes</label>
    <input type="radio" id="radio1" name="firsttime" value="1"/>
    <br/>
    <label for="s2">No</label>
    <input type="radio" id="radio2" name="firsttime" value="2"/>

    <br/>     

    Second time visitor?:<br/>
    <label for="s1">Yes</label>
    <input type="radio" id="radio1" name="secondTime" value="1"/>
    <br/>
    <label for="s2">No</label>
    <input type="radio" id="radio2" name="secondTime" value="2"/>

    <br/>     

    <button type="submit" name="nextBTN" onclick="return validateForm();">Next</button><br/>
</form>

和Javascript代碼:

function validateForm() {
    var radios = document.getElementsByName("firsttime");
    var radios2 = document.getElementsByName("secondtime");
    var formValid = false;

    var i = 0;
    while (!formValid && i < radios.length) {
        if (radios[i].checked) formValid = true;
        i++;        
    }

    var j = 0;
    while (!formValid && i < radios2.length) {
        if (radios2[j].checked) formValid = true;
        j++;        
    }


    if (!formValid) alert("Must check some option!");
    return formValid;



}

乍一看,我可以看到在您的第二個while循環中,您仍然檢查radios變量而不是radios2變量。

在第二個循環中,您還使用了i變量而不是j 而且您與secondTime (vs secondtime )的大小寫secondtime

這是您的代碼的有效版本: http : //jsfiddle.net/8edCn/

編輯:根據您的評論更新的版本: http : //jsfiddle.net/8edCn/2/

暫無
暫無

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

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