我正在开发一个具有多种形式的网络应用程序。当两个输入具有相同的名称时就会出现问题。如果没有人被选中,我想提醒用户。这在 Chrome 上完美运行,但如果两者都没有得到处理,Firefox 不能说我。
脚本:
function validateForm(assignmentForm)
{
doc = document.getElementById(assignmentForm);
var messages = [];
valid = true;
if (doc.ambit.value=="")
{
messages.push("One of two ambits must be selected");
valid = false;
}
if (doc.name.value=="")
{
messages.push("Write a name");
valid = false;
}
if(!valid){
alert(messages.join('\n'));
return false;
}
return true;
}
HTML:
<input name="name" type="text"></input>
<input name="ambit" type="radio" value="center" ></input>
<input name="ambit" type="radio" value="titulation"></input>
<input type="submit" value="submit"/>
当我在没有选择两个半径中的任何一个的情况下提交此表单时,Chrome 会提醒我“必须选择两个范围之一”。但是 Firefox 没有通知我任何事情。
虽然我的第一个想法是为两个输入提供一个 ID 并分别对待它们,但是是否可以使用其他选项来解决这个问题?
最佳答案
对于 firefox doc.ambit.value
以 array
的形式出现
所以放这张支票,
ischecked_method = false;
for ( var i = 0; i < doc.ambit.length; i++) {
if(doc.ambit[i].checked) {
ischecked_method = true;
break;
}
}
if (!ischecked_method)
{
messages.push("One of two ambits must be selected");
valid = false;
}
关于javascript - 具有相同名称的两个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24674925/