【问题标题】:JQuery validation not working in IE 11JQuery 验证在 IE 11 中不起作用
【发布时间】:2014-06-21 19:14:35
【问题描述】:

我正在尝试使用 jquery validate 和 PHP 来验证表单。我已经使用谷歌完成了所有这些......我是网络开发的新手。表单在 FF 中工作得非常好,但脚本在 IE 11 中没有工作......帮助我......谢谢......代码如下:

<script src="js/jquery-1.9.0.js"></script>

  <script src="js/jquery.validate.min.js"></script>

  <!-- jQuery Form Validation code -->
  <script>

  // When the browser is ready...


 $function() {

    // Setup form validation on the #register-form element
    $("#register-form").validate({

        // Specify the validation rules
        rules: {
            topic: "required",
            detail: "required",
            name: "required",
            email: {
                required: true,
                email: true
            },

        },

        // Specify the validation error messages
        messages: {
            topic: "Enter the subject for your suggestion",
            detial: "Please enter your suggestion",
            name: "Please enter your name. It will be kept hidden",
            email: "Please enter a valid email address",
           /* username: "Please enter a valid username",
            password: {
                required: "Please provide a password",
                minlength: "Your password must be at least 5 characters long"
            }*/
        },

        submitHandler: function(form) {
            form.submit();
        }
    });

  });

  </script>



<table align="center" width="800px" border="1" class="table_css">
  <?php echo $output; ?>
  <!--  The form that will be parsed by jQuery before submit  -->
  <tr><td  >Submit Your Suggestion</td></tr>
  <tr><td>
  <form action="add_topic.php" method="post" id="register-form"  name="register-form" novalidate>

    <div class="label">Subject</div><input type="text" id="topic" name="topic" value="<?php echo $topic; ?>" size="50"/><br />
    <div class="label">Suggestion</div>
    <textarea name="detail" cols="60"  id="detail" rows="15" value="<?php echo $detail; ?>"></textarea><br />

    <div class="label">Name</div><input type="text" id="name" name="name" value="<?php echo $name; ?>" size="30" /><br/>
    <div class="label">Email</div><input type="text" id="email" name="email" value="<?php echo $email; ?>" size="30"/><br /><div style="margin-left:200px;"><input type="submit" name="submit" value="Submit" /><input type="reset" name="Submit2" value="Reset" /></div>
    </form>
  </td>
  </tr>
  </table>

【问题讨论】:

  • 你为什么不在输入中简单地使用“required”?你不需要 jQuery 来做这件事:)

标签: javascript php jquery validation


【解决方案1】:

https://github.com/jquery-validation/jquery-validation/issues/2225 1.18.0版本中的问题

一个安全的解决方案是安装版本 1.17.0 -> npm install jquery-validation@1.17.0 并检查插件是否真的是版本 1.17.0

【讨论】:

    【解决方案2】:

    从另一个线程来看,IE 似乎不能很好地处理过多的逗号。尝试删除消息和规则对象中email 属性后的逗号。

    【讨论】:

      【解决方案3】:

      我有类似的问题。我添加了以下代码来设置 Internet Explorer 的浏览器兼容性以使其运行。在&lt;head&gt;标签中添加如下代码。

      <meta http-equiv="X-UA-Compatible" content="IE=edge" />
      

      它使脚本在 IE11 中工作。

      【讨论】:

      • 多么救命啊!!谢谢。
      【解决方案4】:

      您可以简单地使用关键字“必需”HTML5。

      <input type="text" required>
      

      DEMO HERE

      【讨论】:

      • 一个怪癖不过...非html5浏览器可能不支持这个;)
      • 正确,但有很多脚本 js 使其兼容:-)
      【解决方案5】:

      更改提交按钮的名称

      <input type="submit" name="submit" value="Submit" />
      

      提交以外的东西。

      <input type="submit" name="btnSubmit" value="Submit" />
      

      【讨论】:

      • 你为什么要这么做,给个理由?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      • 2018-05-15
      相关资源
      最近更新 更多