2013-02-27 89 views
0

我有一个像数的叽叽喳喳倒计时因为这是一种形式的一部分,我的文字面积:jQuery的事件不会触发第二次

<form method="post" id="myemailform" action=""> 
<label for="ReferralMessage">Optional message:</label><textarea class="message" name="message"></textarea> 
    <span class="countdown"></span> 
</form> 

我的jQuery 1.8.3此代码:

function updateCountdown() { 

    var remaining = 300 - jQuery('.message').val().length; 
    jQuery('#myemailform button[type="submit"]').attr('disabled', false); 
    if (remaining < 0){ 
     jQuery('.countdown').text(remaining).css({'color': 'red'}); 
     jQuery('#myemailform button[type="submit"]').attr('disabled', true); 
    } 
    if (remaining >= 0){ 
     jQuery('.countdown').text(remaining).css({'color': 'black'}); 
    } 
} 

jQuery(function() { 

    var remaining = 300; 
    //print amount currently 
    jQuery('.countdown').text(remaining); 
    //now update with changes 
    jQuery('.message').on('input tap', updateCountdown); 
}); 

这个工程很好,直到表单被提交。页面刷新,但现在倒计时不再工作。

虽然如果我手动刷新它开始再次工作。为什么事件在初始表单提交后没有触发?

+1

你能提供一个链接到工作的例子吗? – darshanags 2013-02-27 03:24:59

+0

恐怕这是一个封闭的开发网站。 – Tom 2013-02-27 03:58:39

+0

谢谢汤姆。你可以检查1)如果表单提交后存在jQuery 2)如果在表单提交后在控制台中有任何错误3)console.log()在'updateCountdown'内并查看表单提交后是否有任何东西被记录 – darshanags 2013-02-27 04:23:41

回答

1

Argh。代码没有错。这与我的选择器有冲突。我使用message作为我的文本框的名称。这似乎与其他事情相冲突。所以简单的修复就是改变它:

<form method="post" id="myemailform" action=""> 
<label for="ReferralMessage">Optional message:</label><textarea class="optionalmessage" name="optionalmessage"></textarea> 
    <span class="countdown"></span> 
</form> 
相关问题