Почему проверка количества символов ломает код?

Рейтинг: 0Ответов: 2Опубликовано: 25.03.2011

Помогите. Пока не было функции проверки количества символов (без пробелов) все шло как по маслу.

ltrim is not defined =(

И не разблокирует 2 елемент (name).

function trim(str, chars) {
    var nam = ltrim(rtrim(str, chars), chars);    
    return nam.length;    
}
function cmena(a){
    if (trim(a.value) > 1) {
        document.imy.name.disabled = 0;
    } else {
        document.imy.ok.disabled = 1;
    }
}
function cmena_2(a) {
    if (trim(a.value) >2) {
        document.imy.ctil['0'].disabled = 0;document.imy.ctil['1'].disabled = 0;
        document.imy.ctil['3'].disabled = 0;document.imy.ctil['2'].disabled = 0;
    } else {
        document.imy.ok.disabled = 1;
    }
}    
function cmena_3(a) {
    if (a.checked) { 
        document.imy.opis.disabled = 0; 
    } else {
        document.imy.ok.disabled = 1;
    }
}    
function cmena_4(a) {
    if (trim(a.value) >10 && trim(document.imy.name.value) > 2 
        && trim(document.imy.avtor.value) >1) {
        document.imy.ok.disabled = 0;
    } else {
        document.imy.ok.disabled = 1;
    }
}

Ответы

▲ 3Принят

Интерпретатор прав - ltrim не существует :) Используйте эту реализацию trim функции:

function trim( str, charlist ) {    
    charlist = !charlist ? ' \s\xA0' : charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
    var re = new RegExp('^[' + charlist + ']+|[' + charlist + ']+$', 'g');
    return str.replace(re, '');
}