Textarea maxlength value not working

我的梦境 提交于 2019-12-13 20:07:46

问题


I have a textarea and I am setting maxlength from JS using DOJO library.The code is as follows:

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

In JS the max length is setting up as follows

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;
        };
    }
}

I am using the following text to populate 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

The textarea is getting maximum of 2500 characters.But when I paste the same text in following URL it is showing 2501 characters.Is this because of * in the text.Not sure what's the reason.

String Length


回答1:


If you replace your maxLength by 2499 (dojo.attr(el,"maxLength",'2499');) it should works !

It's because you have to start counting from 0 !

Hope I've helped you.




回答2:


Instead of var max = el.attributes.maxLength.value;

You may use var max = el.attributes.maxLength; Now complete code will be:

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;
};


来源:https://stackoverflow.com/questions/15249278/textarea-maxlength-value-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!