我遇到了一些单选按钮的问题。以下是我的游戏匹配选择的代码。我实现了错误检测(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!");
}
}
答案 0 :(得分:0)
我明白了!我只需要添加checked =&#34;已检查&#34;到第一个单选按钮。
问题是所有的单选按钮都是未经检查的,因此当我点击按钮时它会阻止默认。
这样,除非在inspect元素中编辑html,否则永远不会触发错误,所以我将保留错误检查。