La alerta sigue mostrando que introduzco la entrada correcta según sea necesario. El concepto es, cuando ingreso los números de serie, los números de serie deben tener 6 dígitos (no menos de 6 ni más de 6). Se debe mostrar una alerta si ingreso menos o más de 6 dígitos como "Los números de serie deben ser iguales". El problema actual es que si solo inserto 1 número de serie (6 dígitos), funciona. Pero, si inserto 2 números de serie (si presiono enter, lo que se conoce como insertar otro número de serie nuevo), ese "Número de serie debe ser el mismo". la alerta sigue mostrándose. Creo que es un error de Javascript, supongo, pero no sé cómo solucionarlo.
var barcodeno = document.translot.barcodeno.value; if (barcodeno == ""){ alert("Please Insert Serial Numbers.") return false; } else if (barcodeno.length != 6 ){ alert ("Serial Numbers must be 6 digits.") return false; } $('#filter').html(''); // to clear selection // lotid = $('#lotid').val().split('\n'); var barcodeno = $('#barcodeno').val().trim(); barcodeno = barcodeno.split('\n'); //checking duplicate barcodeno let barcodeno_array = [] for(let i = 0;i < barcodeno.length; i++){ if(barcodeno_array.indexOf(barcodeno[i]) == -1){ barcodeno_array.push(barcodeno[i]) } } var Barcode = barcodeno_array.length; //alert (Barcode+'||'+seal_qty); if (seal_qty != Barcode){ alert ("Seal Quantity and Number of BarcodeID must be the same."); return false; }Arriba está JavaScript.
$barcode_name = "Seal Number:"; $barname = "placeholder=\"Scan the Serial Number\""; <label class="control-label col-sm-4" for="barcodeno"><?php echo $barcode_name; ?></label> <div class="col-sm-4"> <p class="form-control-static" style="margin-top: -6px;"> <textarea class="form-control" rows="10" id="barcodeno" name="barcodeno" onkeydown="return KeyDown()" onkeyup="this.value=this.value.toUpperCase()" <?php echo $barname; ?>></textarea> </p> </div> <br>