【问题标题】:jQuery Validate Framework + qTip not firing on submitjQuery Validate Framework + qTip 在提交时未触发
【发布时间】:2011-07-09 21:35:41
【问题描述】:

在下文中,我正在尝试将jQuery Validate FrameworkqTip 2.0 一起使用。

这在 Chrome 中有效,但在 IE9 中无效,有什么想法吗?

<html>
<head>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" 
     type="text/javascript"></script>
  <script src="jquery.qtip.min.js" type="text/javascript"></script>
  <link rel="stylesheet" type="text/css" href="jquery.qtip.min.css"/>
  <script type="text/javascript" 
     src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function() {

var myForm = $('form:first');

   myForm.validate({
         errorClass: "errormessage",
         onkeyup: false,
         errorClass: 'error',
         validClass: 'valid',
         rules: {
            fullname: { required: true, minlength: 3 },
            email: { required: true, email: true }
         },
         errorPlacement: function(error, element)
         {
            // Set positioning based on the elements position in the form
            var elem = $(element),
               corners = ['left center', 'right center'],
               flipIt = elem.parents('span.right').length > 0;

            // Check we have a valid error message
            if(!error.is(':empty')) {
               // Apply the tooltip only if it isn't valid
               elem.filter(':not(.valid)').qtip({
                  overwrite: false,
                  content: error,
                  position: {
                     my: corners[ flipIt ? 0 : 1 ],
                     at: corners[ flipIt ? 1 : 0 ],
                     viewport: $(window)
                  },
                  show: {
                     event: false,
                     ready: true
                  },
                  hide: false,
                  style: {
                     classes: 'ui-tooltip-red ui-tooltip-rounded' // Make it red... the classic error colour!
                  }
               })

               // If we have a tooltip on this element already, just update its content
               .qtip('option', 'content.text', error);
            }

            // If the error is empty, remove the qTip
            else { elem.qtip('destroy'); }
         },
         success: $.noop, // Odd workaround for errorPlacement not firing!
   });
});

</script>
<form id="MyForm" autocomplete="off" method="post">
   <input id="Field1" name="fullname" 
          type="text" 
          value="" maxlength="20" />
   <br/>
   <input id="Field2" name="email" 
          type="text" 
          value="" maxlength="255" />
   <br/>
   <input type="submit" value="Submit order" />
</form>
</body>
</html>

【问题讨论】:

    标签: jquery internet-explorer-9 jquery-validate qtip2


    【解决方案1】:

    您的数组/对象中的最后一个元素以逗号结尾,IE 不喜欢这样,但其他浏览器可以接受。

     success: $.noop    // removed comma
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 2013-08-04
      • 1970-01-01
      相关资源
      最近更新 更多