如何检查 javascript 中两位乘客的姓名是否相同

How to check if two passengers have same name in javascript


我有 2 个输入框,用于输入旅行乘客的名字和姓氏。
最多可容纳 9 名乘客。
不允许有两名同名乘客(首尾相加) 我如何检查乘客的 none 是否具有相同的姓名(名字和姓氏合并)

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

谢谢。

编辑:

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

每个乘客有2个输入框吗?如果是这样,请尝试这样的事情:

$(document).ready(function(){
    $("button").click(function(){
        if($("#adultFirstName1").val() == $("#adultFirstName2").val() 
            && $("#adultLastName1").val() == $("#adultLastName2").val()) {

            //Names are the same

        }
    });
});

或者您是否需要对照某个数据库中已有的其他乘客的姓名进行检查?

您可以添加验证 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);">

那么您需要在每次更改 boxe 的值时进行验证。

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('');
    }