单选按钮无法选择

时间:2018-04-07 19:26:18

标签: javascript jquery html user-interface radio-button

我遇到了一些单选按钮的问题。以下是我的游戏匹配选择的代码。我实现了错误检测(if (matchType == null))但它给了我一个我无法弄清楚的问题。当我触发错误(不要选择任何单选按钮)时,文本显示正确,但是,之后我无法选择任何无线电。这就像是锁定了。我知道它与onclick事件中的某些事情有关,因为我可以在触发错误之前选择它们。我将不胜感激任何帮助。

PS:我不知道这是否会有所帮助,但我将jQuery库用于单选按钮。

HTML

    <div id="tabs-1">
    <fieldset>
    <legend>Select a Game type: </legend>
    <legend><b>Normal</b></legend>
    <label for="radio-1">Training</label>
    <input type="radio" class="radioButtons" value="training" name="radios" id="radio-1">
    <label for="radio-2">1v1</label>
    <input type="radio" class="radioButtons" value="one" name="radios" id="radio-2">
    <label for="radio-3">2v2</label>
    <input type="radio" class="radioButtons" value="two" name="radios" id="radio-3">
    <label for="radio-4">3v3</label>
    <input type="radio" class="radioButtons" value="three" name="radios" id="radio-4"><br/>
</fieldset>
</div>

的Javascript&GT;

    lobbyDivfindMatch.onclick = function()
{
    if (window.innerWidth >= 1100 && window.innerHeight >= 800)
    {
        var matchType = null;
        //console.log("WIDTH " + window.innerWidth);

        for (var i = 0; i < radios.length; i++)
        {
            if (radios[i].checked)
            {
                matchType = radios[i].value;
                //alert(radios[i].value);
                break;
            }
        }
        if (matchType != null)
        {
            $("#loader").css("display", "inline-block");
            socket.emit('matchMake', {matchType:matchType});
        }
        else if (matchType == null) //Error Detection
        {
            lobbyDiv.innerHTML += "<p>Please select a match type!</p>";
        }
    }
    else
    {
        alert("I'm sorry but you need a screen size of atleast 1100x930 pixels to play!");
    }
}

1 个答案:

答案 0 :(得分:0)

我明白了!我只需要添加checked =&#34;已检查&#34;到第一个单选按钮。
问题是所有的单选按钮都是未经检查的,因此当我点击按钮时它会阻止默认。 这样,除非在inspect元素中编辑html,否则永远不会触发错误,所以我将保留错误检查。