javascript에 익숙하지 않은 경우 javascript를 사용하여 onSubmit 내부에서 양식을 확인하려고하지만 크기가 비교되는 경우 마지막으로 입력하지 않는 것처럼 작동하지 않습니다. 문자열의. 항상 true를 돌려 내 프로그래밍 언어 (변수와 메시지) 영어가 아닌 경우에 따라서 현재 입력 문제 false가 내 javascript 함수에서 작동하지 않습니다.
죄송합니다
function validaDatos(form){
\t var mensaje="";
\t var solonumeros = /^([0-9])*$/
\t var sololetras = /^([A-Z]|[a-z])*$/
\t var doc = form.doc.value;
\t var apepa = form.apepa.value;
\t var apema = form.apema.value;
\t var nombre = form.nombre.value;
\t var telefono = form.telefono.value;
\t var usuario = form.usuario.value;
\t if(!solonumeros.test(doc)){
\t \t mensaje+="Campo Documento erróneo, solo se aceptan Números";
\t }
\t if(!sololetras.test(apepa)){
\t \t mensaje+="Campo Apellido Paterno erróneo, solo se aceptan Letras";
\t }
\t if(!sololetras.test(apema)){
\t \t mensaje+="Campo Apellido Materno erróneo, solo se aceptan Letras";
\t }
\t if(!sololetras.test(nombre)){
\t \t mensaje+="Campo Nombre erróneo, solo se aceptan Letras <br>";
\t }
\t if(!solonumeros.test(telefono)){
\t \t mensaje+="Campo Teléfono, solo se aceptan Números ";
\t }
\t if(!solonumeros.test(usuario) && !sololetras.test(usuario)){
\t \t mensaje+="Campo Usuario , Solo se Acepta Números y Letras";
\t }
\t alert(mensaje.length); //return > 0
/* No compare , no return false */
\t if(mensaje.length !=0){
\t \t document.getElementByClassName('msgerror').innerHTML = mensaje;
\t \t return false;
\t }
\t
}
<form action="Models/clsUsuario.php" method="POST" accept-charset="utf-8" id="frmRegistro" onsubmit="return validaDatos(this);">
<label for="">Documento </label>
<input type="text" id="doc" name="doc" required maxlength="11">
<label for="">Apellido P.</label>
<input type="text" id="apepa" name="apepa" required maxlength="80">
<label for="">Apellido M.</label>
<input type="text" id="apema" name="apema" required maxlength="80">
<label for="">Nombres </label>
<input type="text" id="nombre" name="nombre" required maxlength="80">
<label for="">Email : </label>
<input type="email" id="email" name="email" required>
<label for="">Teléfono : </label>
<input type="tel" id="telefono" name="telefono" required>
<label for="">Usuario </label>
<input type="text" id="usuario" name="usuario" required>
<label for="">Clave </label>
<input type="password" id="clave" name="clave" required>
<label for="">Dirección : </label>
<textarea name="direccion" id="direccion" required></textarea>
<input type="hidden" name="registrar" value="registrar">
<input type="submit" name="registrar" value="Registro" >
<span class="msgerror"></span>
\t \t \t \t
</form>
, 크롬이나 파이어 폭스에서 F12 키를 눌러에서 다를 수 있습니다 다른 브라우저 또는 플랫폼) – some
브라우저 콘솔에서 오류를 표시하지 마십시오. onsubmit으로 인해 로그를 볼 수 없습니다. – DarkFenix
예, 오류가 표시됩니다. 그러나 제출 핸들에 오류가 있기 때문에 페이지가 제출되고 오류가 표시되지 않습니다. Chrome에서는'preserver log'를 확인할 수 있습니다. 존재하지 않는 함수 인'getElementByClassName'을 사용하려고하므로 오류가 발생합니다. 'getElementsByClassName'라는 함수가 있습니다. – some