具有相同名称的文本框数组 - javascript验证无效

时间:2014-10-12 20:23:15

标签: javascript arrays textbox

此代码对我不起作用,在未经验证的情况下提交。

HTML:

<input type="text" name="skillName[]" id="skillName[]">
<input type="text" name="skillName[]" id="skillName[]">

JavaScript:

var skillsLength=document.getElementsById("skillName").length;
for(var i=0;i<skillsLength;i++)
{
    if(skillsLength.elements[i].value=="")
    {
        alert("Please Enter a Skill");
        return false;
    }
}

1 个答案:

答案 0 :(得分:2)

你有两个问题:

  1. 您不能拥有两个具有相同ID的元素。使用类(或名称属性)代替
  2. 您的ID为skillName[]而不是skillName。 JavaScript不会在名称中赋予字符[]任何特殊含义。这或多或少是PHP独有的。
  3. 这样:

    <input type="text" name="skillName[]" class="skillName">
    <input type="text" name="skillName[]" class="skillName">
    
    var nodeList = document.querySelectorAll('input.skillName');