Tengo una función Javascript que verifica si el tipo de datos de la entrada de uso es el mismo que el esperado por el control, por ejemplo, si se ingresó un carácter en un campo entero esperado en el control de cuadro de texto. El mensaje de validación se muestra correctamente, pero la alerta no desaparece y la función parece entrar en un bucle sin fin. Cualquier ayuda sería apreciada..
La función es la siguiente:
public ValidateControl(event: Event, dataType: string) { let isValid = true; let objControl = event.target as HTMLInputElement; let elementId = objControl.id; let ctrlValue = objControl.value; if (ctrlValue.trim() != '') { isValid = Common.ValidateDataType(ctrlValue, dataType); if (!isValid) { document.getElementById(elementId).focus(); alert("Check your entry in '" + dataType + "' data type column"); } } } <div *ngIf="head.ControlType == 'TextBox'"> <input (blur)="ValidateControl($event, head.DataType)" />Te enfocas y luego pierdes el enfoque con la alerta aquí que desencadena el desenfoque
document.getElementById(elementId).focus(); alert("Check your entry in '" + dataType + "' data type column");Tal vez invierta el orden de esas declaraciones
alert("Check your entry in '" + dataType + "' data type column"); document.getElementById(elementId).focus();