javascript - 具有相同名称的两个输入

标签 javascript html google-chrome firefox

我正在开发一个具有多种形式的网络应用程序。当两个输入具有相同的名称时就会出现问题。如果没有人被选中,我想提醒用户。这在 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.valuearray 的形式出现 所以放这张支票,

    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/

相关文章:

javascript - 如何在脚本文件中使用 Razor View 中的模型?

google-chrome - 在 Chrome 中录制屏幕时如何达到 60 FPS?

javascript - 比较javascript中的树数据

javascript - Z-index 后文字不会出现在图片前面

javascript - 如何在不单击的情况下激活此 JQuery fancybox?

html - 如何使用 flexbox 垂直对齐页面上的 div

html - 评论在 chrome 中不起作用

javascript - JS:如何在屏幕上找到元素的位置而不在其他计算机上有所不同?

javascript - 如何在 Three.js 中从 3D 点创建 3D 表面?

javascript - 检查表格行中的单元格是否等于 0,如果是则隐藏该行