首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >innerHTML是空的?JS表单验证

innerHTML是空的?JS表单验证
EN

Stack Overflow用户
提问于 2020-02-14 08:11:35
回答 1查看 56关注 0票数 0

我为什么会犯这个错误?我在用window.onload,我不明白.你能帮帮我吗?

HTML:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html>
    <head>
        <title>Pràctica DOM3</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/zxcvbn/4.2.0/zxcvbn.js"></script>
        <link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
        <script src="https://cdnjs.cloudflare.com/ajax/libs/zxcvbn/4.2.0/zxcvbn.js"></script>
        <script type="text/javascript" src="script.js"></script>
        <style>
            h2 {
                text-align: center;
                border-bottom: 1px solid black;
                padding-bottom: 20px;
                /*text-decoration: underline;*/
            }
            #ultimsEstudisCursatsLabel {
                margin-top: 10px;
            }
            #submitFormButton {
                margin: auto;
                display: block;
            }
            #resetFormButton {
                margin: auto;
                display: block;
            }
            meter {
                margin: 0 auto 1em;
                width: 100%;
                height: .5em;
            }

            meter[value="1"]::-webkit-meter-optimum-value { background: red; }
            meter[value="2"]::-webkit-meter-optimum-value { background: yellow; }
            meter[value="3"]::-webkit-meter-optimum-value { background: orange; }
            meter[value="4"]::-webkit-meter-optimum-value { background: green; }

        </style>
    </head>
    <body>

        <div class="container">
            <h2>Inscripció CF Informàtica Marianao</h2>
            <br>
            <form method="post" action="#" id="formulari">
                <div class="form-group">
                    <label class="control-label col-sm-2" for="input1">Nom</label>
                        <div class="col-sm-10">
                            <input type="text" name="nom" class="form-control" id="inputNom" placeholder="Escriu el teu nom ..." />
                            <br />
                        </div>
                </div>

                <div class="form-group">
                    <label class="control-label col-sm-2">Primer cognom</label>
                        <div class="col-sm-10">
                            <input type="text" name="primerCognom" class="form-control" id="inputCognom1" placeholder="Escriu el primer cognom ..." />
                            <br />
                        </div>
                </div>

                <div class="form-group">
                <label class="control-label col-sm-2">Segon cognom</label>
                    <div class="col-sm-10">
                        <input type="text" name="segonCognom" class="form-control" id="inputCognom2" placeholder="Escriu el segon cognom ..." />
                        <br />
                    </div>
                </div>

                <div class="form-group">
                    <label class="control-label col-sm-2">Data naixament </label>
                        <div class="col-sm-10">
                            <input type="date" name="dataNaixement" class="form-control" id="inputNaixament" placeholder="Selecciona la teva data de naixament ..."/>
                            <br />
                        </div>
                </div>

                <div class="form-group">
                    <label class="control-label col-sm-2">Email </label>
                        <div class="col-sm-10">
                            <input type="email" name="email" class="form-control" id="inputEmail" placeholder="Escriu el teu correu electrònic ..."/>
                            <br />
                        </div>
                </div>

                <div class="form-group">
                    <label class="control-label col-sm-2">Telèfon</label>
                        <div class="col-sm-10">
                            <input type="tel" name="telefon" class="form-control" id="inputTelefon" placeholder="Escriu el teu telèfon ..."/>
                            <br />
                        </div>
                </div>

                <div class="form-group">

                    <label class="control-label col-sm-2">DNI</label>
                        <div class="col-sm-10">
                            <input type="text" name="dni" class="form-control" id="inputDni" placeholder="Escriu el teu DNI ..." />
                            <br />
                        </div>
                </div>

                <div class="form-group">
                    <label class="form-label col-sm-2">Cicle formatiu</label>
                        <div class="col-sm-10">
                            <select class="form-control" name="cicleFormatiu">
                                <option value="smx">SMX: Sistemes Microinformàtics i Xarxes</option>
                                <option value="asix">ASIX: Administració de Sistemes Informàtics en Xarxa</option>
                                <option value="dam">DAM: Desenvolupament d'Aplicacions Multiplataforma</option>
                                <option value="daw">DAW: Desenvolupament d'Aplicacions Web</option>
                            </select>
                            <br />
                        </div>
                </div>

                <div class="form-group">
                    <label class="control-label col-sm-2" id="ultimsEstudisCursatsLabel">Últims estudis cursats</label>
                        <div class="col-sm-10">
                            <div class="radio">
                                <label><input type="radio" name="ultimEstudis" value="eso" class="custom-control-input">ESO</label><br><br>
                            </div>
                            <div class="radio">
                                <label><input type="radio" name="ultimEstudis" value="batx" class="custom-control-input">Batxillerat</label><br><br>
                            </div>
                            <div class="radio">
                                <label><input type="radio" name="ultimEstudis" value="cfgm" class="custom-control-input">CF Grau Mitjà</label><br><br>
                            </div>
                            <div class="radio">
                                <label><input type="radio" name="ultimEstudis" value="cfgs">CF Grau Superior</label><br><br>
                            </div>
                            <div class="radio">
                                <label><input type="radio" name="ultimEstudis" value="altres">Altres</label><br><br>
                            </div>
                        </div>
                </div>

                <div class="form-group">
                    <label class="control-label col-sm-2">Usuari</label>
                    <div class="col-sm-10">
                        <input class="form-control" type="text" id="inputUsuari" name="usuari" />
                        <br />
                    </div>
                </div>

                <div class="form-group">
                    <label class="control-label col-sm-2">Contrasenya</label>
                    <div class="col-sm-10">
                        <input type="password" id="password" name="contrasenya" class="form-control" />
                        <meter max="4" id="password-strength-meter"></meter>
                        <p id="password-strength-text"></p>
                        <br />
                    </div>
                </div>

                <div class="form-group">
                    <label class="control-label col-sm-2">Torna a escriure la contrasenya</label>
                    <div class="col-sm-10">
                        <input type="password" name="contrasenyaCheck" id="contrasenyaCheck" class="form-control" disabled/>
                        <meter max="4" id="password-strength-meter"></meter>
                        <p id="password-strength-text"></p>
                        <br />
                    </div>
                    <br />
                </div>

                <div class="form-group">
                    <label class="control-label col-sm-2">Observacions</label>
                    <div class="col-sm-10">
                        <textarea class="form-control" name="observacions" id="textarea" maxlength="500"></textarea>
                        <br />
                    </div>
                </div>

                <div class="form-group">
                    <label class="control-label col-sm-2">Termes i condicions</label>
                    <div class="col-sm-10">
                        <label class="checkbox-inline"><input type="checkbox" name="termesCondicions" value="yes" class="form-check-input" >Consulta <span><a href="condicions.html" target="_blank">aquí</a></span> els termes i condicions.<br></label>
                        <br />
                        <br />
                        <br />
                    </div>
                </div>

                <div class="form-group">
                    <input type="submit" value="Submit Form" class="btn btn-success" id="submitFormButton">
                </div>
                <div class="form-group">
                    <input type="reset" value="Reset Form" class="btn btn-primary" id="resetFormButton">
                </div>
            </form>

        </div>
    </body>
</html>

联署材料:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function main (){

    var inputNom = document.getElementById("inputNom").addEventListener("blur", validarNomCognoms);
    var inputCognom1 = document.getElementById("inputCognom1").addEventListener("blur", validarNomCognoms);
    var inputCognom2 = document.getElementById("inputCognom2").addEventListener("blur", validarNomCognoms);
    var inputNaixament = document.getElementById("inputNaixament").addEventListener("blur", validarData);
    var inputEmail = document.getElementById("inputEmail").addEventListener("blur", validarEmail);
    var inputTelefon = document.getElementById("inputTelefon").addEventListener("blur", validarTelefon);
    var inputDni = document.getElementById("inputDni").addEventListener("blur", validarDni);
    var inputUsuari = document.getElementById("inputUsuari").addEventListener("blur", validarUsuari);
    var password = document.getElementById("password").addEventListener("blur", validaContrassenya);




    // Recuento de carácteres en el text area.

        var textAreaID = document.getElementById("textarea");
        var length = textAreaID.getAttribute("maxlength");
        var textAreaCount = document.getElementById("count");
        textAreaCount.innerHTML = length + " caràcters restants.";
        textAreaID.addEventListener ("keypress", function () {
            document.getElementById("count").innerHTML = (length - this.value.length) + " caràcters restants.";
        });

    // Barra de seguridad METER.

    document.addEventListener("keydown", function () {
        var strength = {
            0: "Molt feble.",
            1: "Feble.",
            2: "Acceptable.",
            3: "Forta.",
            4: "Molt forta."
        }

        var password = document.getElementById('password');
        var meter = document.getElementById('password-strength-meter');
        var text = document.getElementById('password-strength-text');

        password.addEventListener('input', function() {
            var val = password.value;
            var result = zxcvbn(val);

            meter.value = result.score;

            if(val !== "") {
                text.innerHTML = "<strong>" + strength[result.score] + "</strong>";
            }
            else {
                text.innerHTML = "";
            }

            if (meter.value >= 2) {
                document.getElementById("contrasenyaCheck").disabled = false;
            }
            else {
                document.getElementById("contrasenyaCheck").disabled = true;
                document.getElementById('contrasenyaCheck').value = "";
            }
        });
    });

    // VALIDACIONES.

        // Primera validación.

            function validarNomCognoms () {
              var pattern = /^[a-zA-Z]*$/;
              if (this.value.length > 0) {
                if(!this.value.match(pattern)) {
                  this.setCustomValidity("No pot contindre números!");
                  this.reportValidity();
                }
                else {
                  this.setCustomValidity("");
                }
              }
              else {
                this.setCustomValidity("No pot citear buit ");
                this.reportValidity();
              }
            }

          // Segunda validación.

          function validarData () {
            if (this.value != "") {
              var dataRecibida = this.value;
              dataRecibida = dataRecibida.split("-").reverse().join("-");

              // Obtener la fecha actual.
              var today = new Date();
              var dd = today.getDate();
              var mm = today.getMonth() + 1;

              var yyyy = today.getFullYear();
              if (dd < 10) {
                dd = '0' + dd;
              }
              if (mm < 10) {
                mm = '0' + mm;
              }
              var today = dd + '/' + mm + '/' + yyyy;

              if (dataRecibida > today) {
                alert ("Data incorrecta.");
              }
              //this.value.setCustomValidity("");
            }
            else {
              alert ("citeá vacío.");
            }
          }

        // Tercera validación.

        function validarEmail () {
          if (this.value != "") {
              var emailPattern = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
              if (emailPattern.test(this.value)) {
                return;
              }
              else {
                alert ("Mail incorrecte.");
              }
          }
          else {
            alert ("Está vacío.");
          }
        }

        // Cuarta validación.

        function validarTelefon () {
          if (this.value != "") {
              var emailPattern = /^\d{9}$/;
              if (emailPattern.test(this.value)) {
                return;
              }
              else {
                alert ("Telèfon incorrecte.");
              }
          }
          else {
            alert ("Está vacío.");
          }
        }

        // Quinta validación.

        function validarDni () {
          if (this.value != "") {
              var emailPattern = /^\d{8}[A-Z]$/;
              if (emailPattern.test(this.value)) {
                  var lletres = ['T', 'R', 'W', 'A',
                                 'G', 'M', 'Y', 'F',
                                 'P', 'D', 'X', 'B',
                                 'N', 'J', 'Z', 'S',
                                 'Q', 'V', 'H', 'L',
                                 'C', 'K', 'E', 'T'];

                  var index = this.value % 23;

                  var my_array = this.value;
                  var last_element = my_array[my_array.length - 1];
                  var boolean = false;

                  for (var i = 0; i < lletres.length; i++) {
                    if (last_element == lletres[i]) {
                      boolean = true;
                    }
                  }
                  if (boolean) {
                    return;
                  }
                  else {
                    alert ("Lletra DNI incorrecte.");
                  }
              }
              else {
                alert ("DNI incorrecte.");
              }
          }
          else {
            alert ("Está vacío.");
          }
        }

        // Sexta validación.

        function validarUsuari () {
          if (this.value != "") {
            if (this.value.length < 5) {
              alert ("Longitud mínima de 5 caràcters.");
            }
            else if (this.value.length > 12) {
              alert ("Longitud màxima de 12 caràcters.");
            }
            else {
              return;
            }
          }
          else {
            alert ("Está vacío.");
          }
        }

        // Seéptima validación.

        function validaContrassenya () {
          var meter = document.getElementById('password-strength-meter');
          if (meter.value < 2) {
            document.getElementById("cite9").style.display = "block";
          }
          else {
            document.getElementById("cite9").style.display = "none";
          }
        }
}
window.onload = main;

谢谢伙计们!

错误:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-14 08:20:11

您从未用id="count"定义元素。检查一下。

而且,当你定义它时,要确保它是身体的直接子类。您可以尝试不这样做,但有时会导致错误。

希望你现在明白了!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60229871

复制
相关文章
JS判断提交表单不能为空 等的验证
上代码 <script type="text/javascript"> function beforeSubmit(form){ if(form.username.value==''){ alert('用户名不能为空!'); form.username.focus(); return false; } if(form.password.value==''){ alert('密码不能为空!'); form.password.focus(); return false; } if(form.password.v
数贝
2019/09/05
7.2K0
bootstrap 表单验证 不为空验证
<!doctype html> <html> <head> <meta charset="utf-8"> <title>联想控股</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="css/bootstrap.css" rel="stylesheet" type="text/css"> <link href="css/bootstrapValidator.min.css" rel="stylesheet" type="text/css"> <script src="http://code.jquery.com/jquery.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/bootstrapValidator.min.js"></script> </head> <body>  <form role="form"> <div class="form-group"> <label>Username</label> <input type="text" class="form-control" name="username" /> </div> <div class="form-group"> <label>Email address</label> <input type="text" class="form-control" name="email" /> </div> <div class="form-group"> <button type="submit" name="submit" class="btn btn-primary">Submit</button> </div> </form> <script>
用户5760343
2019/07/07
8.7K0
Js表单验证整理
1.手机验证[验证13系列和150-159(154除外)、180、185、186、187、188、189几种号码,长度11位] function isMobel(value) { if (/^13\d{9}$/g.test(value) || (/^15[0-35-9]\d{8}$/g.test(value)) || (/^18[05-9]\d{8}$/g.test(value))) { return true; } else { alert('请输入
磊哥
2018/05/09
9.9K0
提交表单时input字段非空验证
需求,当提交表单的时候,如果要验证的字段为空,则弹出提示框提示请完善表单信息,并且 return;不执行下一步。
王小婷
2019/08/07
3K0
js表单提交前验证
<script type="text/javascript"> function check(form) {
用户5760343
2019/08/20
12K0
js基础-表单验证和提交
基础知识: 原始提交如下: 1 <form action="/login" method="post" id="form1"> 2 <span>用户</span> 3 <input type="text" name="username" id="username"/><br/> 4 <span>密码</span> 5 <input type="password" name="password" id="passsword"/><br/> 6    7
Ryan-Miao
2018/03/13
12.5K0
js表单验证工具包
常用的js表单验证方法大全 1 /* 2 非空校验 : isNull() 3 是否是数字: isNumber(field) 4 trim函数: trim() lTrim() rTrim() 5 校验字符串是否为空: checkIsNotEmpty(str) 6 校验字符串是否为整型:
HUC思梦
2020/09/03
12.1K0
表单数据验证方法(一)—— 使用validate.js实现表单数据验证
 好久没写博客了,真的是罪过,以后不能这样了,只学习不思考,学的都是白搭,希望在博客园能记录下自己学习的点滴,虽然记录的都是些浅显的技术,但能起到巩固自己和稍微帮助一下和我一样的菜鸡也是不错的,哈哈,不好意思,闲话扯多了。
CherishTheYouth
2019/09/11
5.7K0
表单数据验证方法(一)—— 使用validate.js实现表单数据验证
js用户注册表单验证_onclick调用js函数
<p> <button type=”button” onclick=”myFunction()”>点击这里</button> </p>
全栈程序员站长
2022/09/20
9K0
Happy.js:轻量级的 jQuery 表单验证插件
网络上有很多的表单验证插件,但是很多功能非常强悍,如果你只是需要一个最简洁的,那么 Happy.js 就是一个很好的选择。
Denis
2023/04/15
2.3K0
Laravel Validation 表单验证(二、验证表单请求)
创建表单请求验证 面对更复杂的验证情境中,你可以创建一个「表单请求」来处理更为复杂的逻辑。表单请求是包含验证逻辑的自定义请求类。可使用 Artisan 命令 make:request 来创建表单请求类:
joshua317
2022/10/31
29.4K0
angularjs的表单验证
angularjs内置了常用的表单验证指令,比如min,require等。下面是演示:
MJ.Zhou
2018/07/31
1.4K0
angularjs的表单验证
Angularjs的表单验证
在AngularJS中,有许多用于验证的指令。我们将先学习几个最流行的内置指令,然后再创建一个自定义验证规则的指令。
星回
2018/08/02
2.2K0
注册页面表单js验证,手机验证码验证,阻断提交表单的可行性方案(移植性极强)
1、html表单部分如下,样式使用的是AdminLTE前端框架,可以不理会。简要说明一下:
jiankang666
2022/05/12
3.5K0
注册页面表单js验证,手机验证码验证,阻断提交表单的可行性方案(移植性极强)
angularjs的表单验证
angularjs内置了常用的表单验证指令,比如min,require等。下面是演示: <!DOCTYPE html> <html> <head> <meta charse
MJ.Zhou
2018/01/04
1.6K0
angularjs的表单验证
简单的表单验证
<head> <meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ /> <title>表单验证</title> <script language=”javascript” src=”include/form.js”> </script> </head> <body><form action=”#” method=”post” name=”form” id=”form”> 姓&nbsp;&nbsp;&nbsp;&
苦咖啡
2018/05/07
2.2K0
js判断序列化表单是否包含空值
<form id="form1"> <input type="text" value="1" name="Total" /> </form> //判断序列化表单是否包含空值 var data = $("#form").serialize(); var array = data.split("&"); for (var i = 0; i < array.length; i++) { var kwarr = array[i].split("="); for (var j = 0; j
小语雀网
2021/09/08
3.4K0
js 验证用户名和密码是否为空
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'userValidate.jsp' starting page</title> <script type="text/javascript">
week
2018/08/27
5.5K0
Angularjs 表单验证
<input name="id" ng-disabled="f_isEditMode()" class="form-control" ng-model="node.id" required placeholder="请输入系统唯一标识" ng-pattern="/^[\w\d_-]*$/"> <p>系统的唯一标识名称(格式:字母、数字、连字符、下划线) 如:mysql</p> <error-strings> <error-string on="my
问天丶天问
2018/06/13
3K0
formvalidation表单验证
官方文档:http://formvalidation.io var $formEntityProfileSearch = $("form[name=entityProfileSearch]"); var $formValidationEntityProfileSearch = $formEntityProfileSearch.data("formValidation"); //初始化表单验证 $formValidationEntityProfileSearch.revalidateField('compan
windseek
2018/05/15
3K0

相似问题

用innerHTML验证表单

39

JS:如果innerhtml是空的,那么将innerhtml更改为某个内容。多么?

222

JavaScript:.innerhtml错误消息表单验证

20

JS验证后的空联系人表单

22

空表单操作的验证

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文