Textarea maxlength值不起作用

时间:2013-03-06 13:59:20

标签: javascript html dojo textarea maxlength

我有一个textarea,我使用DOJO库从JS设置maxlength。代码如下:

<textarea id="ct" rows="50" cols="50"></textarea>

在JS中,最大长度设置如下

var el = dojo.byId('ct');
if(el) {
    dojo.attr(el,"maxLength",'2500');
    if (!('maxLength' in el)) {
        var max = el.attributes.maxLength.value;
        el.onkeypress = function () {
            if (this.value.length >= max)
                return false;
        };
    }
}

我使用以下文字填充textarea。

Twitter's character limit is 140. An SMS text message limit is 160. Google AdSense ads can have 25 characters for the title, 70 characters for the ad text, and 35 characters for the displayed URL. N.B. a space or punctuation are a "character". Exercice: try to copy and paste portions of this text to count the number of letters.  * Even the cheapest online college demands a diploma. Studying an MBA program online or at online business schools requires a previous application where the number of letters is carefully controlled. Admissions to cheapest online college are regulated. Online business schools offer character counts in their advertising classes. An MBA program online offers a wide range of subjects, such as economics, organization, marketing, accounting, finance, strategic management, international business, management of information technology, human resources, and political strategies. Students work on a wide range of courses in the first year, then begin a specialization in the second. Specialization occurs through courses which are generally chosen by the student who wishes to explore a particular area (e.g. the market for finance options or pricing policies for marketing).  * An MBA program online is one of the best in the world. It forms effective frameworks and established many links with the business world. American universities have considerable financial means. For example, Harvard's capital is 34.9 billion. In a federal country like the United States, the university system is decentralized and higher education institutions enjoy considerable autonomy that allows them flexibility.  * Since the mid 1990s, the cheapest online colleges have undergone considerable consolidation. Many providers have gone out of business or were absorbed by larger groups. In 2005, there were 4,182 higher education institutions (colleges, universities, schools) in the United States, and approximately research 1,400 units. That represents the highest enrollment rate in higher education in the world. The two-year online colleges form the basis of tertiary education.  * Online business schools enables Programme graduates to start their professional career abroad. In fact, multiple exchange agreements in many countries place online business schools among the World's most successful. The schools also develop and expand their networks constantly with MBA. The cultural mix is commonplace in the business school, with more than one in three students being from overseas. P

textarea最多可以获得2500个字符。但是当我在下面的URL中粘贴相同的文本时,它显示2501个字符。这是因为文本中的*。不确定是什么原因。

String Length

2 个答案:

答案 0 :(得分:2)

如果你将maxLength替换为2499(dojo.attr(el,"maxLength",'2499');),它应该有效!

这是因为你必须从0开始计数!

希望我能帮助你。

答案 1 :(得分:0)

而不是var max = el.attributes.maxLength.value;

您可以使用var max = el.attributes.maxLength; 现在完整的代码将是:

var el = dojo.byId('ct');
    if(el){
    dojo.attr(el,"maxLength",'2500');
    if (!('maxLength' in el)) {
var max = el.attributes.maxLength;
el.onkeypress = function () {
    if (this.value.length >= max) return false;
};