Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Необходимо деактивировать кнопку "Submit" пока в поле textarea не будет заданного кол-ва знаков.

Запретить копирование текста из textarea.

Что уже есть:

Есть счетчик знаков (и работает на сайте) в текстовом поле (взято отсюда http://chtivo.webhost.ru/articles/widgets2.php ):

// prototype-analog

function $(obj) {

if (typeof obj == 'object')

return obj;

if (document.getElementById)

return (document.getElementById(obj));

else if (document.all)

return document.all(obj);

return null;

}

// PHP str_replace-analog

String.prototype.str_replace = function(srch, rpl)

{

var ar = this.split(srch);

return ar.join(rpl);

}

// Узнаём родительский элемент

function getParent(el) {

return ((el.parentElement) ? el.parentElement : ((el.parentNode) ? el.parentNode : null));

}

// Узнаём параметры элемента: ширину, высоту, а также координаты

function getElementPosition(el)

{

w = el.offsetWidth;

h = el.offsetHeight;

l = t = 0;

while (el)

{

l += el.offsetLeft;

t += el.offsetTop;

el = el.offsetParent;

}

return {"left":l, "top":t, "width": w, "height":h};

}

function createTextAreaWidget(el, min, max)

{

var el = $(el);

var counter = $('counter' + el.id);

if (!counter)

{

var parent = getParent(el);

var counter = document.createElement('div');

counter.setAttribute('id', 'counter' + el.id);

counter.className = 'counter';

parent.appendChild(counter);

parent.style.position = 'relative';

counter.style.position = 'absolute';

counter.style.left = getElementPosition(el).width + 2 + 'px';

counter.style.top = 0;

counter.style.height = getElementPosition(el).height + 'px';

}

// перенос строки js принимает за два знака. Исправляем.

len = el.value.str_replace(String.fromCharCode(13), '').length;

if (len >= max) {

el.value = el.value.substr(0, max);

len = max;

}

el.onkeyup = function () {createTextAreaWidget(el, min, max);}

el.onchange = function () {createTextAreaWidget(el, min, max);}

createStat(counter, min, max, len);

}

function createStat(el, min, max, current)

{

el.innerHTML = '< ' + min + '
';

var className = (current = max) ? 'red' : 'normal');

var cur = (current >= max) ? current + ' !!!' : current;

el.innerHTML += '= ' + cur + '
';

el.innerHTML += '> ' + max + '';

}

и выводится на странице так:

Далее здесь http://webmaster.yandex.ru/addurl.xml нашел скрипт как деактивировать Submit

но провера идет по полю input а не textarea

и еще

они для этого дела подключают.

А здесь http://htmlweb.ru/java/example/block_mark.php написано как запретить выделение и копирование текста, но кроме полей INPUT и TEXTAREA

А мне надо именно в TEXTAREA

В общем все это надо объединить в один скрипт и убрать лишнее. Добавить в счетчик исключение двух и более пробелов в кол-ве знаков. Чтобы после первого пробела второй и следующие не засчитывались бы как знаки.

Минимально кол-во знаков задается в первом скрипте. И в страницу вставляется через вызов отдельно скрипта, а не в теле прописан.

По оплате: безопасная сделка или ЭПС

15 лет назад
mchuk
50 лет
17 лет в сервисе
Был
3 месяца назад

Выбранный исполнитель

opananax
Пушкин 
39 лет
15 лет в сервисе
Был
15 лет назад
15 лет назад
$10
1 день
Что называется "Сказано - сделано". Никаких нареканий и претензий. Рекомендую.
Приятно было сотрудничать. Хороший заказчик. Рекомендую.

Заявки фрилансеров

opananax
Пушкин 
39 лет
15 лет в сервисе
Был
15 лет назад
15 лет назад