-1

我有一个即将推出的页面,位于 www.remindeals.com。

当单击“首先进入”按钮并提交电子邮件(做一个像 abc@abc.com 之类的假邮件)时,模态弹出窗口存在一个错误,其中背景不显示,社交图标仅在悬停时出现超过。这是一个使用引导程序构建的 Rails 站点。

这个问题只发生在 IE 9 中。任何人有任何线索吗?

下面附上相关的jquery,不确定这是否有帮助。

$('document').ready(function() {

  // display validation errors for the "request invitation" form
  if ($('.alert-error').length > 0) {
    $("#request-invite").modal('toggle');
  }

  // use AJAX to submit the "request invitation" form
  $('#invitation_button').live('click', function() {
    var email = $('form #user_email').val();
    var password = $('form #user_password').val();
    var dataString = 'user[email]='+ email + '&user[password]=' + password;
    $.ajax({
      type: "POST",
      url: "/users",
      data: dataString,
      success: function(data) {
        $('#request-invite').html(data);
        loadSocial();
      }
    });
    return false;
  });

})

// load social sharing scripts if the page includes a Twitter "share" button
function loadSocial() {

    //Twitter
    if (typeof (twttr) != 'undefined') {
      twttr.widgets.load();
    } else {
      $.getScript('http://platform.twitter.com/widgets.js');
    }

    //Facebook
    if (typeof (FB) != 'undefined') {
      FB.init({ status: true, cookie: true, xfbml: true });
    } else {
      $.getScript("http://connect.facebook.net/en_US/all.js#xfbml=1", function () {
        FB.init({ status: true, cookie: true, xfbml: true });
      });
    }

    //Google+
    if (typeof (gapi) != 'undefined') {
      $(".g-plusone").each(function () {
        gapi.plusone.render($(this).get(0));
      });
    } else {
      $.getScript('https://apis.google.com/js/plusone.js');
    }
}

谢谢!

4

2 回答 2

1
$('document').ready(function() { <-- Document isn't supposed to be in quotes

正确的方法是这样的

$(document).ready(function() { //code here });
于 2012-06-15T21:40:56.467 回答
0

在 IE 中的输入字段中按下时,您的页面将提交给thankyou.html而不是打开带有社交统计信息的模式。Enter这是因为在输入字段中按下提交时不会触发#invitation_button'事件。clickEnter

将您的文本inputsubmit按钮包装在 a 中<form/>,然后替换:

$('#invitation_button').live('click', function() {

和:

$('form').live('submit', function() {

或者,当您使用 jQuery 1.7.2 时:

$('form').on('submit', function() {

您也可以考虑使用 CDN 托管的 jQuery 副本,而不是将其托管在您的网站上,因为它为您的用户提供了更好的缓存和加载时间。

您页面的其余部分似乎与我的 IE 中的 FF/Chrome 相同。

于 2012-06-15T21:47:57.730 回答