簡體   English   中英

檢查所有單選按鈕在本機javascript中檢查

[英]Checking all radio button are checked in native javascript

我有一個gatherRadioBtn()函數,它發布表單中的else顯示錯誤。 這將從checkRadioWrapper()中獲取提示,以檢查是否已選中所有單選按鈕。

但是, true情況並未實現。 我的(r[i].type == "radio") && !(r[i].checked)表達式中是否存在錯誤。

將很快上傳到jsfiddle

謝謝。

function checkRadioWrapper()
{
    for (var i=0; i < r.length; i++)
    {
        if (  (r[i].type == "radio") && !(r[i].checked) )
        {
            return false;   
        }
    }

    return true;
}

function gatherRadioBtn()
{
    alert("in gather");
    var r = document.getElementsByTagName("input");
    var literal = [];

    for (var i=0; i < r.length; i++)
    {
        if (  (r[i].type == "radio") && r[i].checked )
        {
            literal.push(r[i].name);
            literal.push(r[i].value);
        }
    }

    if (checkRadioWrapper())
    {
        document.getElementById("Errnodata").innerHTML = "" ;  
        var joinedArray = literal.join(", ");
        window.opener.document.getElementById("myarray").value= joinedArray;
        window.opener.getVolunteerDetails();
        window.close();
    }
    else
    {
       document.getElementById("Errnodata").innerHTML = "Please select for every radio btns!" ;  
    }
}

你必須將“r”作為參數傳遞給你的函數:

function checkRadioWrapper( r )
{
    for (var i=0; i < r.length; i++)
      // etc

接着:

if (checkRadioWrapper( r ))

現在,也就是說,在一組共享相同名稱的單選按鈕中,瀏覽器永遠不會允許同時檢查所有這些按鈕。 因此,這真的沒有多大意義。 如果你有沒有與其他單選按鈕共享名稱的單選按鈕,它們應該是復選框而不是單選按鈕。

暫無
暫無

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

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