Санкционировать пустые поля с языком сценариев JavaScript

У меня есть функция в языке сценариев JavaScript, который validarFor() (validarFormulario), где он проверяет, что почтовые адреса, которые вводятся в компьютер в формуляре, были правильны, и ты подпираешь, проверь, что никакое поле не осталось пустым, где у меня здесь есть проблема, он это не выполняет в этот IF.

function validarfor(){

var correo = document.getElementById("mail").value; 
var nom = document.getElementsByName("nombres")[0].value;
var rs = document.getElementsByName("razonsocial")[0].value;
var tel = document.getElementsByName("telefono")[0].value;
var cel = document.getElementsByName("celular")[0].value;
var coment = document.getElementsByName("comentarios")[0].value;

var expr = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;


if ( !expr.test(correo) ){                                                            //COMPRUEBA MAIL
    alert("Error: La dirección de correo " + correo + " es incorrecta.");
    return false;
}

if ((correo == "") || (nom == "") || (rs == "") || (tel == "") || (cel == "") || (coment == "")) {  //COMPRUEBA CAMPOS VACIOS
    alert("Los campos no pueden quedar vacios");
    return true;
}

}

Он хранил переменные с getElementByID, getElementsByName и не, где - проблема, также в условном вместо того, чтобы помещать (почта =="") пробуйте с (correo.lenght == 0) и также!

Формуляр:

<FORM name="formulario" action="#" method="post" onSubmit="return validarfor();">
    <p>Destinatario:</p>     
    <SELECT NAME="lista">
    <OPTION SELECTED>Sr
    <OPTION>Sra.
    </SELECT>
    <br>

    <label for="nombres"><p>*Apellido y nombre: </p></label><br>
    <INPUT TYPE="text"  id="nombres" name="nombres">
    <br>

    <label for="razonsocial"><p>*Razon Social:</p></label>
    <INPUT class="razon" TYPE="text"  id="razonsocial" name="razonsocial">
    <br>

    <label for="mail"><p>*Email:</p></label>
    <INPUT TYPE="email" id="mail">
    <br>

    <label for="telefono"><p>*Telefono:</p></label>
    <INPUT TYPE="tel"  id="telefono" name="telefono">
    <br>

    <label for="celular"><p>*Celular:</p></label>
    <INPUT TYPE="tel"  id="celular" name="celular">
    <br>

    <p>Via de contacto:</p>
    <SELECT NAME="viadecontacto" >
    <OPTION SELECTED>Email
    <OPTION>Telefono
    <OPTION>Celular
    </SELECT>
    <br>

    <label for="comentarios"><p>*Comentarios:</p></label>
    <textarea  id="comentarios" rows="10" cols="40" maxlength="300" name="comentarios">Escribe aquí tus comentarios</textarea>
    <br>

    <input type="submit" name="commit" value="Enviar">
</form>
-1
задан 07.07.2019, 23:57
1 ответ

Если единственное, чего ты требуешь, состоит в том, чтобы не позволять послать, если поле - vacГ, - или, ты можешь использовать признак required sitaxis, который ты должен использовать, - следующий:

<INPUT TYPE="text"  id="nombres" name="nombres" required>

И ты должен считать, что это градус совместимости с браузерами, что ты можешь проверять в следующей официальной ссылке:

совместимых Браузеров

Твой код остался бы следующего способа, ты можешь aГ±adir в action функция сохраняемый, или что ты потребовал последующий submit

<!--<FORM name="formulario" action="JavaScript:guarDadatos()">  -->
<FORM name="formulario">
    <p>Destinatario:</p>     
    <SELECT NAME="lista" required>
    <OPTION SELECTED>Sr
    <OPTION>Sra.
    </SELECT>
    <br>

    <label for="nombres"><p>*Apellido y nombre: </p></label><br>
    <INPUT TYPE="text"  id="nombres" name="nombres" required>
    <br>

    <label for="razonsocial"><p>*Razon Social:</p></label>
    <INPUT class="razon" TYPE="text"  id="razonsocial" name="razonsocial" required>
    <br>

    <label for="mail"><p>*Email:</p></label>
    <INPUT TYPE="email" id="mail" required>
    <br>

    <label for="telefono"><p>*Telefono:</p></label>
    <INPUT TYPE="tel"  id="telefono" name="telefono"required>
    <br>

    <label for="celular"><p>*Celular:</p></label>
    <INPUT TYPE="tel"  id="celular" name="celular"required>
    <br>

    <p>Via de contacto:</p>
    <SELECT NAME="viadecontacto"required >
    <OPTION SELECTED>Email
    <OPTION>Telefono
    <OPTION>Celular
    </SELECT>
    <br>

    <label for="comentarios"><p>*Comentarios:</p></label>
    <textarea  id="comentarios" rows="10" cols="40" maxlength="300" name="comentarios" >Escribe aquí tus comentarios</textarea>
    <br>

    <input type="submit" name="commit" value="Enviar">
</form>
0
ответ дан 03.12.2019, 10:42
  • 1
    пожалуйста улучши твой вклад, объясни больше и лучше на required –  20.12.2018, 18:55

Теги

Похожие вопросы