Javascript 具有相同名称的两个输入
我正在开发一个有多种表单的webapp。当两个输入具有相同的名称时,问题就会出现。如果没有选择任何人,我想提醒用户。这在Chrome上运行得非常好,但如果他们两个都不被处理,Firefox就不能告诉我 JScript:Javascript 具有相同名称的两个输入,javascript,html,google-chrome,firefox,Javascript,Html,Google Chrome,Firefox,我正在开发一个有多种表单的webapp。当两个输入具有相同的名称时,问题就会出现。如果没有选择任何人,我想提醒用户。这在Chrome上运行得非常好,但如果他们两个都不被处理,Firefox就不能告诉我 JScript: function validateForm(assignmentForm) { doc = document.getElementById(assignmentForm); var messages = []; valid =
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:
当我未选择两个半径中的任何一个而提交此表单时,Chrome会提醒我“必须选择两个范围中的一个”。但是Firefox没有通知我任何事情
我的第一个想法是给这两个输入提供一个ID并分别处理它们,但是否可以用另一个选项来解决这个问题?不要先假设表单有效,然后检查它是否无效,试着假设它无效,然后检查它是否有效 然后,您可以循环遍历每个单选按钮,如果您找到一个选中的单选按钮,则将valid设置为true。像这样:
var valid = false;
var ambitValues = doc.getElementsByName('ambit')
for (var i = 0; i < ambitValues.length; i++) {
if (ambitValues[i].checked) {
valid = true;
}
};
var valid=false;
var ambitValues=doc.getElementsByName('ambit')
对于(变量i=0;i
对于firefox文档范围.value
以数组的形式出现
所以把这张支票
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;
}
ischecked\u方法=false;
对于(变量i=0;i
doc.ambit
正在firefox中返回一个数组。@Katalhama没问题。很高兴我能帮忙。
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;
}