Quiero agregar una alerta dentro de if y else if. Si el usuario no ingresa nada en el cuadro de aviso, se activa la alerta. Además, si el usuario ingresa un número, el aviso dirá que el usuario ingresó un número. ¿Cómo hacer eso?
let myForm2 = document.querySelector('.form2'); let pDisplay1 = document.querySelector('.display4'); myForm2.addEventListener('submit', function(e) { e.preventDefault(); let uname = document.querySelector('.inputName2').value; if (uname == null) { } else if (isNaN(uname) == false) { } else { pDisplay1.innerHTML = `Welcome to the program ${uname}`; } }) <p> Activity 6</p> <form class="form2" method="get"> <label>Full Name: <input type="text" class="inputName2"></label> <input type="submit"> </form> <p class="display4"></p>document.querySelector('.className').value devolverá una cadena.
string.trim() elimina los espacios en blanco y si la length === 0 significa que la entrada está vacía o solo tiene espacios en blanco que generalmente desea tratar como vacíos. Si considera que el espacio es una entrada válida, no tiene que usar trim().
El signo + convertirá una cadena en un número; de lo contrario, podría usar parseInt (variable).
Number.isInteger(variable) devolverá verdadero si la variable es un número entero.
También puedes escribir !isNaN(+uname) o +uname !== Number.NaN
myForm2.addEventListener('submit', function (e) { e.preventDefault(); let uname = document.querySelector('.inputName2').value; if (uname.trim().length === 0) { alert('You should write something'); } else if (Number.isInteger(+uname)) { alert('You wrote a number'); } else { pDisplay1.innerHTML = `Welcome to the program ${uname}`; } });La cadena vacía no es igual a nulo , reemplace uname==null con uname=='' , después del reemplazo, puede identificar la situación que el usuario no ingresó, si es más estricto, también puede usar recortar para eliminar espacios en blanco y luego hacer una revisión de condición