2017-07-19 94 views
0

我正在尝试为我的网站创建一个评论系统。提交评论时,脚本用于显示按摩(或警报)。我对js没有足够的知识来自己调试和解决这个问题,所以我尽管会在这里问,直到我了解更多关于js的知识。JavaScript脚本第一次不工作,但在此之后工作

我的脚本进口这些都是头:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js" async></script> 
<script type="text/javascript" src="/js/main.js" async></script> 

而且我main.js脚本:

// Static comments 
jQuery(document).ready(function ($) { 
    var $comments = $('.js-comments'); 

    $('#comment-form').submit(function() { 
    var form = this; 

    $(form).addClass('submitting'); 
    $('#comment-form-submit').html('Loading ...'); 

    $.ajax({ 
     type: $(this).attr('method'), 
     url: $(this).attr('action'), 
     data: $(this).serialize(), 
     contentType: 'application/x-www-form-urlencoded', 
     success: function (data) { 
     $('#comment-form-submit').html('Submitted'); 
     $('.new-comment-form .js-notice').removeClass('notice--danger').addClass('notice--success'); 
     showAlert('<p style="color:#47bd40">Thanks for your comment! It will show on the site once it has been approved.</p>'); 
     }, 
     error: function (err) { 
     console.log(err); 
     $('#comment-form-submit').html('Submit Comment'); 
     $('.new-comment-form .js-notice').removeClass('notice--success').addClass('notice--danger'); 
     showAlert('<p style="color:#e64848">Submission failed, please fill in all the required inputs.</p>'); 
     $(form).removeClass('submitting'); 
     } 
    }); 

    return false; 

    }); 

    function showAlert(message) { 
    $('.new-comment-form .js-notice').removeClass('hidden'); 
    $('.new-comment-form .js-notice-text').html(message); 
    } 
}); 

我的问题是,如果我提出意见,脚本不起作用,但如果我等了一段时间并再次提交,它就可以正常工作。

我猜测它与加载脚本并运行它们有关,我在这里看到了一些类似的问题,但没有答案解决了我的问题。

+0

这里是我的网站的评论表格: https://squircleart.github.io/animation-nodes/hud-in-animation-nodes.html#comment-form –

+5

只需从您的脚本中删除'async'进口... – Hackerman

+0

欢迎您:) – Hackerman

回答

2

脚本标签上的异步意味着“异步”。

通常,当您加载网页时,浏览器将请求(如果尚未更新缓存中已存在的)所有在您的主html中指定的文件和导入。启动时加载的所有脚本标记都是其中之一。

但你在那里有异步。

所以你的代码没有运行,因为它还不存在!

删除异步,它应该运行良好。

相关问题