如何检查 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('');
}
我有 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('');
}