gpt4 book ai didi

javascript - 如果文本框 2 中有相同的多个值,jQuery 验证文本框 1

转载 作者:行者123 更新时间:2023-11-30 13:47:08 24 4
gpt4 key购买 nike

我有 2 个文本框。

<input type="text" id="pcbaSerialNo"/>

<input type="text" id="pcbaSerialNoMask"/>

和js

function handlePCBASerialNo(e)
{
var pcbaSerialNo = $(this).val();
var pcbaSerialNoMask = $('#pcbaSerialNoMask').val();

if(e.which ==13)
{
if(pcbaSerialNo == "")
{}
else
{
if(jQuery.inArray(pcbaSerialNo, pcbaSerialNoMask) != -1)
{
alert("Duplicate scan is not allowed!");
}
else
{
if(pcbaSerialNoMask == "")
{
$('#pcbaSerialNoMask').val(pcbaSerialNo);
$('#totalScan').val("1");
}
else
{
var totalScan = $('#totalScan').val();

$('#pcbaSerialNoMask').val(pcbaSerialNo + "," + pcbaSerialNoMask);

$('#totalScan').val(parseInt(totalScan) + 1);
}
}

$('#pcbaSerialNo').bind('keypress', handlePCBASerialNo);

$('#pcbaSerialNo').val("");
}
}
}
$('#pcbaSerialNo').keypress(handlePCBASerialNo);

js 函数将在文本框中的输入键上运行。

当扫描文本框#pcbaSerialNo时,它会将值发送到#pcbaSerialNoMask。 (例如超过 1 个值将是:test1、test2)

现在我需要验证 #pcbaSerialNo 来检测是否有相同的值。

我的问题是,如何验证该文本框以防止相同的值(重复)?

function handlePCBASerialNo(e)
{
var pcbaSerialNo = $(this).val();
var pcbaSerialNoMask = $('#pcbaSerialNoMask').val();

if(e.which ==13)
{
if(pcbaSerialNo == "")
{}
else
{
if(jQuery.inArray(pcbaSerialNo, pcbaSerialNoMask) != -1)
{
alert("Duplicate scan is not allowed!");
}
else
{
if(pcbaSerialNoMask == "")
{
$('#pcbaSerialNoMask').val(pcbaSerialNo);
$('#totalScan').val("1");
}
else
{
var totalScan = $('#totalScan').val();

$('#pcbaSerialNoMask').val(pcbaSerialNo + "," + pcbaSerialNoMask);

$('#totalScan').val(parseInt(totalScan) + 1);
}
}

$('#pcbaSerialNo').bind('keypress', handlePCBASerialNo);

$('#pcbaSerialNo').val("");
}
}
}
$('#pcbaSerialNo').keypress(handlePCBASerialNo);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<input type="text" id="pcbaSerialNo"/>
<input type="text" id="pcbaSerialNoMask"/>

最佳答案

只需在检查现有值之前添加以下行。使用 inArray 函数时,您必须将字符串值转换为数组。

pcbaSerialNoMask = pcbaSerialNoMask.split(",");

function handlePCBASerialNo(e)
{
var pcbaSerialNo = $(this).val();
var pcbaSerialNoMask = $('#pcbaSerialNoMask').val();

if(e.which ==13)
{
if(pcbaSerialNo == "")
{}
else
{
pcbaSerialNoMask = pcbaSerialNoMask.split(",");
if(jQuery.inArray(pcbaSerialNo, pcbaSerialNoMask) != -1)
{
alert("Duplicate scan is not allowed!");
}
else
{
if(pcbaSerialNoMask == "")
{
$('#pcbaSerialNoMask').val(pcbaSerialNo);
$('#totalScan').val("1");
}
else
{
var totalScan = $('#totalScan').val();

$('#pcbaSerialNoMask').val(pcbaSerialNo + "," + pcbaSerialNoMask);

$('#totalScan').val(parseInt(totalScan) + 1);
}
}

$('#pcbaSerialNo').bind('keypress', handlePCBASerialNo);

$('#pcbaSerialNo').val("");
}
}
}
$('#pcbaSerialNo').keypress(handlePCBASerialNo);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<input type="text" id="pcbaSerialNo"/>
<input type="text" id="pcbaSerialNoMask"/>

关于javascript - 如果文本框 2 中有相同的多个值,jQuery 验证文本框 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59084778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com