【问题标题】:HTML5 form validation without submit button没有提交按钮的 HTML5 表单验证
【发布时间】:2014-09-12 09:43:42
【问题描述】:

我想验证没有 type="submit" 按钮的表单输入。 我该怎么做?

我试过了 ->

<script type="text/javascript">function validateForm() {
    $('#form1')[0].checkValidity()
   if( document.form1.vorname.value == "" )
   {
         return false;
   }
   if( document.form1.nachname.value == "" )
   {
         return false;
   }
   if( document.form1.postleitzahl.value == "" )
   {
         return false;
   }
   if( document.form1.email.value == "" )
   {
         return false;
   }
   if( document.form1.telefon_optin_Ja.value == "" )
   {
         return false;
    }
if( document.form1.ort.value == "" )
   {
         return false;
   }
   if( document.form1.straße.value == "" )
   {
         return false;
   }
   if( document.form1.Anrede.value == "" )
   {
         return false;


        }else { 
            $('#modal_absenden').modal({
              backdrop: 'static',
              keyboard: 'false',
                 })

    }
}
</script>

我的表单名称是:form1 , button -> `Absenden

问题的“背景”是:我想首先验证表单输入,然后(如果所有输入都正常)它应该打开一个模式,您可以在其中选择重定向页面(重定向是,重定向否)然后它通过 post 将表单提交到 mail.php。

我希望你理解我的问题,如果你有问题,请问。 (我的英语不太好..)

感谢您的帮助。

【问题讨论】:

标签: javascript jquery html forms twitter-bootstrap


【解决方案1】:

您已经谈到了 HTML5。

那么这意味着您所要做的就是将 checkValidity() 与

一起使用
 <input type="text" name="name" required>
<input type="email" name="email" required placeholder="Enter a valid email address">

这是一篇关于使用 HTML5 验证的好文章。

我自己没用过。但我很高兴从您的帖子中了解到一些信息。

http://www.the-art-of-web.com/html/html5-form-validation/

如果你想使用 jQuery one 然后去验证。 http://www.codeproject.com/Articles/213138/An-Example-to-Use-jQuery-Validation-Plugin

【讨论】:

  • 是的,没错。我正在使用所需的标签。但它只会验证您是否使用提交按钮。当我在前端使用提交按钮(不是模式)时,它会验证,但不会打开模式来选择重定向。我希望你明白我的意思
  • 对于模型,您使用什么作为 jquery 对话框?如果有问题,我想自己看看。
  • 请看doggy-dinner.de..打开模式我有js sn-p(看看我的第一个帖子)......如果我点击键盘上的“输入”按钮出现验证弹出窗口,但没有点击 type="button"
  • 嗯好吧,你为什么不直接使用类型提交并取消表单提交。这样你还在调用验证?这是代码。 $('#membershipform').submit(function(event){ if ($(this).checkValidity || $(this).checkValidity()) { }else { event.preventDefault(); } });我没有检查代码,但它应该可以完成这项工作。
  • 当我使用提交按钮时,它会跳过模式,因为它调用动作属性,即 mail.php。生病检查代码编辑:它在使用 type="submit" 时跳过模式,如果我使用 type="button" 验证将不会执行 edit2:如果你想检查这个,再次打开站点并用 test 测试它输入 ;)
【解决方案2】:

您可以在每次输入更改时调用您的验证函数:

$('#form1 input').change(validateForm);

【讨论】:

    【解决方案3】:

    使用

    $("#form1 input").on('change,blur', validateForm); 
    
    function validateForm() {
        // Caution : this refers to the HTMLElement
    }
    

    您应该考虑使用像 http://formvalidator.net/http://jqueryvalidation.org/ 这样的库之类的 jQuery 表单验证,或者创建您的。

    干杯

    【讨论】:

      【解决方案4】:

      所以我猜你想用 Javascript 做前端验证。有包装库可以做到这一点。例如,validate.jsverifyjsthis one,...

      您可以将验证过程绑定到输入的模糊事件 JQuery validate 是一个不错的选择,文档清晰。您只需要下载 .js 库并将其放在您的 web 文件夹下的某个位置,并使用标记来包含它。并在要验证的表单上调用 .validate() 函数。应该这样做。

      $('input').on('blur', function(){
          $("#myForm").validate();
      });
      

      【讨论】:

      • 对不起,我想使用引导验证,这是 html5 还是 js?!我对Js不太熟悉..
      • 是JS,但你可能不需要处理JS代码。要进行验证,您需要下载引导 Javascript 代码。并设置属性 表示该字段不能为空。
      • 但是我试图解释一个问题。提交按钮正在开始验证。但我不能使用表单上的提交按钮,因为我必须打开模式。如果我为此使用提交按钮,它将跳过模式,因为它会打开 actions=mail.php .. 希望你理解我的问题:x
      • 所以你必须做JS。我建议 JQuery 验证。请参阅编辑后的答案。并确保您使用过 JQuery(最广泛使用的 JS 库)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2021-03-02
      相关资源
      最近更新 更多