如何检查两名乘客是否在javascript中具有相同的名称

时间:2015-08-24 10:03:00

标签: javascript arrays input compare


我有2个输入框,用于旅行的乘客的名字和姓氏 最多可以有9名乘客 不允许有两名同名的乘客(第一次和最后一次合并) 如何检查乘客是否都没有相同的名字(名字和姓氏合并)

<input type="text" name="adultFirstName1" id="adultFirstName1" class="form-control input-sm" placeholder="" style="width:100%; padding:5px;">

           

感谢。

编辑:

我没有使用数据库来存储乘客姓名,所有乘客都在同一页面上输入。

2 个答案:

答案 0 :(得分:0)

您可以添加验证javascript函数,但首先需要为所有输入框指定特定名称。 你可以尝试这样的事情:

<input type="text" name="adultFirstName1" id="adultFirstName1" class="form-control input-sm" placeholder="" style="width:100%; padding:5px;" OnClick="Verify();">
.
.
.
<input type="text" name="adultFirstName10" id="adultFirstName10" class="form-control input-sm" placeholder="" style="width:100%; padding:5px;" OnClick="Verify(id);">

然后你需要在每次改变价值时验证。

答案 1 :(得分:0)

var name=[];    
var sameName=false;
for(var i=1;i<=<%=detailsModel.getNumberOfAdult()%>;i++)
 {
var fullName = document.getElementById("adultFirstName"+i).value+" "+document.getElementById("adultLastName"+i).value
name.push(fullName);
}
for(var i=1;i<=<%=detailsModel.getNumberOfChild()%>;i++)
{
var fullName = document.getElementById("childFirstName"+i).value+" "+document.getElementById("childLastName"+i).value
name.push(fullName);

}
for(var i=1;i<=<%=detailsModel.getNumberOfInfant()%>;i++)
{
var fullName = document.getElementById("infantFirstName"+i).value+" "+document.getElementById("infantLastName"+i).value
name.push(fullName);
}
for(var i=0;i<name.length;i++)
{
for(var j=i+1;j<name.length;j++)
    {
    if(name[i]==name[j])
    {
        var sameName=true
        valid= false;
    }

  }
}
if(sameName==true)
    {
    $('#sameNameError').html('2 Passengers Cannot Have Same Name');
    }
else
    {
    $('#sameNameError').html('');
    }