Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery表单回调兼容性问题_Javascript_Jquery_Jquery Plugins_Jquery Validate_Jquery Forms Plugin - Fatal编程技术网

Javascript jQuery表单回调兼容性问题

Javascript jQuery表单回调兼容性问题,javascript,jquery,jquery-plugins,jquery-validate,jquery-forms-plugin,Javascript,Jquery,Jquery Plugins,Jquery Validate,Jquery Forms Plugin,我在我的网站()上有一个表单,我与jQuery一起提交。表单成功提交时的回调函数应该使表单淡出;但是,由于某些原因,这只适用于某些浏览器/操作系统组合。目前,兼容性列表如下所示: WORKS o firefox 3.0, xp o firefox 3.0.14, vista o firefox 3.0.15, vista o firefox 3.5.5, os 10.6.2 v chrome 4.0.249.30, os 10.6.2 o chrome 3.0.195.33, w7

我在我的网站()上有一个表单,我与jQuery一起提交。表单成功提交时的回调函数应该使表单淡出;但是,由于某些原因,这只适用于某些浏览器/操作系统组合。目前,兼容性列表如下所示:

WORKS
o  firefox 3.0, xp
o  firefox 3.0.14, vista
o  firefox 3.0.15, vista
o  firefox 3.5.5, os 10.6.2
v  chrome 4.0.249.30, os 10.6.2
o  chrome 3.0.195.33, w7

DOESNT WORK
o  safari 4.0.4, os 10.6.2
o  safari 4.0.3, os 10.5.8
o  firefox 3.5.5, w7
o  firefox 3.5.5, os 10.5.8
o  chrome 3.0.195.33, vista

o = unreproduced, v = reproduced, x = conflicting
…这是一个奇怪的列表(它适用于Mac OS 10.6.2上的Firefox 3.5.5,但不适用于Mac OS 10.5.8上的Firefox 3.5.5?)。我用于验证/提交表单的代码以及回调函数如下:

// hide the form and display success message (called after form is submitted)
 function formHide() {

  // cache form wrapper and blurb
  var formWrapper = $("#contactForm");
  var formBlurb = $("#contact .formBlurb");

  // set the height of wrapper and blurb 
  formWrapper.height(formWrapper.height());
  formBlurb.height(formBlurb.height());

  // fade out required fields message, fade in success message
  formBlurb.find(".requiredFields").fadeOut("fast", function() {
   formBlurb.find(".thanks").fadeIn("fast");
  });

  // fade out form
  formWrapper.find("form").fadeOut("slow", function(){
   // slide up the div so there's no jump
   formWrapper.slideUp("slow");
  });
 }

 // cache the form
 var form = $("#contactForm form");

 // validate the form
 $("#contactForm form").validate({
  // when errors are made...
  errorPlacement: function() {
   // turn the background on those elements red
   $("#contactForm form .error").animate( { backgroundColor:"#ff6666" }, "fast" );
  },
  // when submitting the form...
  submitHandler:  function(form){
   $(form).ajaxSubmit({
    // use fm.pl as the submission script
    url: "cgi-bin/fm.pl",
    // hide the form if it's successful
    success: formHide
   });
  }
 });
我使用的表单插件可以在找到,我使用的验证插件可以在找到。是否有我遗漏的东西破坏了兼容性

谢谢:)

顺便说一句,很抱歉,我没有格式化作为链接使用的插件的URL-我不能发布多个链接,直到我有10个信誉点。

P.P.S.好的,发布这篇文章给了我10个额外的信誉点,所以我使用的插件的URL现在是链接。

只是淡入淡出不起作用吗?这些行看起来可疑:

  formWrapper.height(formWrapper.height());
  formBlurb.height(formBlurb.height());

你想设定一个已经存在的高度是什么?

罪魁祸首似乎是“成功:formHide”中省略了括号。我的印象是这没问题,但显然不是。

+1也给你10分:)现在你可以编辑你的帖子了!我明确地将#contactForm的高度设置为原来的高度,因为否则,当表单淡出时,#contactForm将没有内容并崩溃,导致剩余的内容向上跳转以填充空间。通过显式设置高度,元素将保持其高度,即使它里面没有任何东西——允许我将其向上滑动,以便页面的其余部分平滑地向上移动以填充空白。