Tengo un JavaScript que me ayuda a validar la entrada del usuario. El javascript redirigiría a los usuarios a una nueva página si el número de teléfono que proporcionaron no ha sido utilizado por otro usuario.
Si el número de teléfono que proporciona un usuario coincide con los números de teléfono en mi javascript, recibe un mensaje que dice; ¡El número de teléfono ha sido utilizado! y no serán redirigidos. Pero son redirigidos si el número de teléfono que proporcionan no coincide con ninguno de los números de teléfono en mi javascript.
A continuación se muestra el código;
/* myScript.js */ function check(form) /*function to check used phone numbers*/ { /*the following code checkes whether the entered phone number is matching*/ if (form.usercheck1.value == "12345678" || form.usercheck1.value == "1112345666") { alert("Phone number used!.") /*displays error message*/ } else if (form.usercheck1.value.length<11 || form.usercheck1.value.length>11) { alert("Phone number should be 11 digits! \nAnd it should begin with; 080, 081, 070, 090, or 091."); } else { window.location.replace('http://www.google.com') /*opens the target page while Id matches*/ } }Ahora, necesito algo similar, pero esta vez no para la redirección sino para el envío de formularios. Necesito un Javascript que evite que mi formulario se envíe solo cada vez que un usuario proporcione un correo electrónico que ya haya sido utilizado por otro usuario.
Cuando un usuario proporciona una dirección de correo electrónico que coincide con las direcciones de correo electrónico en mi javascript, debería recibir un mensaje que dice; Se utiliza el correo electrónico. Pero cuando el correo electrónico no coincide con ninguna de las direcciones de correo electrónico en mi javascript, mi formulario debería enviarse.
Soy consciente de que esta no es una forma profesional de hacerlo, pero aún necesito la solución.
Para hacer esto, puede agregar un detector de eventos al envío del formulario , obtener el evento y ejecutar preventDefault() en él, esto evitará el envío del formulario.
const myForm = document.getElementById("myForm") ; const myInput = document.getElementById("myInput"); myForm.addEventListener("submit", (e) => { if(myInput.value !== "foo") { e.preventDefault(); console.log("Prevented form submitting") } }) <form id="myForm" action="/submit" method="GET"> <input type="text" id="myInput" name="myinput"> <input type="submit" value="Submit !"> </form>Puede asignar una función al evento onsubmit:
const formHandle = document.forms.form_name; formHandle.onsubmit = processForm; function processForm(){ // Check email address if (email === "test@test.com") { alert("Email is used."); // This prevents submission return false; } }Parece que desea verificar el correo electrónico del usuario en la base de datos y, si existe, desea mostrar un mensaje a los usuarios "El usuario ya existe";
En este caso, debe usar la llamada ajax y verificar la disponibilidad del usuario en la base de datos.
function check(form){ var email = form.email.value; $.ajax({ // https://www.w3schools.com/jquery/ajax_ajax.asp // request your variables and check if your back end if the email is found in database or not// }) }Gracias