2013-02-27 90 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> 
相關問題