2010-06-07 50 views
1

我有一個textarea,用戶可以輸入一些標籤。 我需要將此標籤限制爲20個標籤。限制文本區域值,並削減其餘

標籤可能是入室這樣

maytag1,mytag2,MyTag3中

我寫的是這個功能

function limitTags() 
{ 

    var tags  = $("input[type=text][name=tags]").val() 
    var tag   = $.trim(tags); 
    var selected   = new Array(); 

    /** 
    * replace the last ',' 
    */ 
    if(tag.substring(tag.length - 1) == ",") 
    { 
     *///tag = tag.replace(tag.length - 1, ''); 
    } 


    var enteredTags = tag.split(","); 

    if(enteredTags.length > 20) 
    { 
     //$("input[type=text][name=tags]").val(enteredTags.join(",", enteredTags)); 

     alert("Only 20 Tags allowed"); 
    } 


} 

警報工作得很好,但之後的警告框不見了。我可以繼續輸入標籤,直到出現警告框。

我需要的是切斷這也是進入最後在MessageBox之後的文本「」

我希望我可以問清楚我的問題。

感謝

回答

1

攔截 「」 壓制,並檢查目前爲止用戶插入了多少個條目。如果他試圖插入太多的條目,請防止進一步插入。

$('input[type=text][name=tags]').keyup(function(e) { 
    if((e.keyCode == 188) && ($(this).val().split(",").length > 19)) { 
     alert('Only 20 Tags allowed'); 
    } 
});