【问题标题】:Issue with Javascript, it won't allow the Full Calendar to loadJavascript 的问题,它不允许加载完整的日历
【发布时间】:2016-03-10 12:44:56
【问题描述】:

谁能告诉我以下代码有什么问题。我猜这与 Javascript 缺少括号有关,但我不能指望它。我们如何使用 var modal = $("#modal");上面写着 var content = "Hello " + name + ", You have signed " + modal + " up to XYZ";

当我们实现此代码时,完整的日历 HTML 将从站点中消失。非常感谢!

$(window).load(function() {
$(document).ready(function() {
    $('#calendar').fullCalendar({
        header: {
            left: '',
            center: 'title',
            right: 'prev,next today'
        },
        defaultDate: '2016-03-15',
        events: [

            {
                title: 'Event',
                start: '2016-03-26T11:00:00',
                end: '2016-03-26T12:00:00',
            },
        ],
        eventClick: function(event) {
            console.log(event)
                // alert(event.start.format('MMMM Do YYYY'))
                start = event.start.format('MMMM Do YYYY'),
                end = event.end.format('MMMM Do YYYY'),
                html = '<p>Starts: ' + start + '<p>';
            html += '<p>Ends: ' + end + '<p>';
            var modal = $("#modal");
            modal.find(".modal-title").html(event.title);
            modal.find('.modal-body').html(html)
            modal.modal();
        }  
    )}


    jQuery(function($) {
     $("#contact_form").submit(function() {
        var email = $("#email").val(); // get email field value
        var name = $("#name").val(); // get name field value
        var msg = $("#msg").val(); // get message field value
        var content = "Hello "+name+ ", You have signed "+modal+ " up to XYZ";
        $.ajax({
                type: "POST",
                url: "https://mandrillapp.com/api/1.0/messages/send.json",
                data: {
                    'key': 'api',
                    'message': {
                        'from_email': "email",
                        'text': "Hello ",
                        'from_name': "name",
                        'headers': {
                            'Reply-To': "email"
                        },
                        'subject': 'Confirmation - Sign Up',
                        'text': content,
                        'to': [{
                            'email': email,
                            'name': name,
                            'type': 'to'
                        }]

                    }
                }

            })
            .done(function(response) {
                alert('You have been signed up. Thank you!'); // show success message
                $("#name").val(''); // reset field after successful submission
                $("#email").val(''); // reset field after successful submission
                $("#msg").val(''); // reset field after successful submission

            })
            .fail(function(response) {
                alert('Error sending message.');
            });
        return false; // prevent page refresh
    });
});
  });

【问题讨论】:

  • 您不必将代码包装在窗口加载中,只需使用一个准备好的文档,为什么这么多?

标签: javascript jquery html fullcalendar


【解决方案1】:

改变这个:

      modal.modal();
    }  
)} //<-----this

对此:

      modal.modal();
    }  
}) //<----this

完整代码简化:

$(document).ready(function() {
  $('#calendar').fullCalendar({
      header: {
        left: '',
        center: 'title',
        right: 'prev,next today'
      },
      defaultDate: '2016-03-15',
      events: [

        {
          title: 'Event',
          start: '2016-03-26T11:00:00',
          end: '2016-03-26T12:00:00',
        },
      ],
      eventClick: function(event) {
        console.log(event)
          // alert(event.start.format('MMMM Do YYYY'))
        start = event.start.format('MMMM Do YYYY'),
          end = event.end.format('MMMM Do YYYY'),
          html = '<p>Starts: ' + start + '<p>';
        html += '<p>Ends: ' + end + '<p>';
        var modal = $("#modal");
        modal.find(".modal-title").html(event.title);
        modal.find('.modal-body').html(html)
        modal.modal();
      }
    }) //<-----this one 


  $("#contact_form").submit(function() {
    var email = $("#email").val(); // get email field value
    var name = $("#name").val(); // get name field value
    var msg = $("#msg").val(); // get message field value
    var content = "Hello " + name + ", You have signed " + modal + " up to XYZ";
    $.ajax({
        type: "POST",
        url: "https://mandrillapp.com/api/1.0/messages/send.json",
        data: {
          'key': 'api',
          'message': {
            'from_email': "email",
            'text': "Hello ",
            'from_name': "name",
            'headers': {
              'Reply-To': "email"
            },
            'subject': 'Confirmation - Sign Up',
            'text': content,
            'to': [{
              'email': email,
              'name': name,
              'type': 'to'
            }]

          }
        }

      })
      .done(function(response) {
        alert('You have been signed up. Thank you!'); // show success message
        $("#name").val(''); // reset field after successful submission
        $("#email").val(''); // reset field after successful submission
        $("#msg").val(''); // reset field after successful submission

      })
      .fail(function(response) {
        alert('Error sending message.');
      });
    return false; // prevent page refresh
  });
});

【讨论】:

  • 非常感谢您的回复!如果我想要它,那么 var modal 可以在这里使用,“ var content = "Hello " + name + ", You have signed " + modal + " up to XYZ";"我需要改变什么?
  • 查看 var modal 是本地范围的变量,它不会在那里可用,而是您可以使用全局 var,比如全局声明它。
  • 那么会不会是这样,这个 var modal = "modal";函数 myFunction() { modal = "modal"; },再次感谢!
猜你喜欢
  • 2016-10-29
  • 2017-05-23
  • 1970-01-01
  • 2018-08-24
  • 2015-07-13
  • 2021-10-14
  • 1970-01-01
  • 2010-10-06
  • 1970-01-01
相关资源
最近更新 更多