【问题标题】:Javascript form validation not working in bootstrap modalJavascript表单验证在引导模式中不起作用
【发布时间】:2017-05-26 16:23:14
【问题描述】:

我正在使用表单制作引导模式,并且我有自定义 JavaScript 字段验证但它不起作用,我在没有模式的普通页面中尝试了相同的方法,它运行良好。

这是 JavaScript 代码:

function validartitulo()
{
    var titulo = form.titulo;
    if (titulo.value == "") {
    document.getElementById("msgtit").innerHTML = "<font color='red'>Este campo é obrigatório.</font>";
    return false;
}
if(titulo.value.length <= 25){
    document.getElementById("msgtit").innerHTML = "";
    return true;
    }
        else if(titulo.value.length>25){
        document.getElementById("msgtit").innerHTML = "<font color='red'>O tamanho máximo é 25!</font>"; 
            return false;}
        }

       function validar(){
    if(validartitulo() && validarlink())
        return true;
    return false;
}

和形式:

 <form id="luForm" class="form-horizontal form-label-left input_mask"    name="form" enctype="multipart/form-data" method="POST"  action="videos/alt_vid2.php" onsubmit="return validar()">

<div class="form-group">
   <label class="col-md-4 control-label"><font color="black">Titulo: </font></label>  
   <div class="col-md-4 inputGroupContainer">
   <div class="input-group">
   <span class="input-group-addon"><i class="glyphicon glyphicon-tag"></i> </span>
  <input  style='text-align:center;' name="titulo" value="<?php echo $lin['titulo']; ?>" class="form-control"  type="text" onblur="return validartitulo()">
    </div>
  <div id="msgtit"></div>
  </div>
</div>

控制台错误:

Uncaught TypeError: Cannot read property 'value' of undefined
at validartitulo (eval at globalEval (jquery.min.js:2), <anonymous>:3:12)
at HTMLInputElement.onblur

【问题讨论】:

  • 你在哪里关闭? validar 函数在哪里?
  • 控制台有 js 错误吗? “不工作”仅排除一种情况。
  • @James 我用控制台错误编辑了我的问题
  • @Kuru 我用 validar() 代码编辑了我的问题

标签: javascript html twitter-bootstrap


【解决方案1】:

尝试改变这一点:

function validartitulo()

改成:

function validartitulo(form)

还有

<input  style='text-align:center;' name="titulo" value="<?php echo $lin['titulo']; ?>" class="form-control"  type="text" onblur="return validartitulo()">

改成:

 <input  style='text-align:center;' name="titulo" value="<?php echo $lin['titulo']; ?>" class="form-control"  type="text" onblur="return validartitulo(this.form)">

【讨论】:

  • 感谢您的回答,但我已经解决了,这是一个小错误,我只是将
【解决方案2】:

解决了,这是一个未捕获的错误,所以有人建议我将&lt;script&gt;,如果它在head,移动到body,无论如何感谢所有!

【讨论】:

    猜你喜欢
    • 2018-04-11
    • 1970-01-01
    • 2017-09-02
    • 2021-08-28
    • 2019-05-25
    • 2021-02-21
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    相关资源
    最近更新 更多