Программирование > JavaScript & JScript

javascript курсор наместе после onclick

<< < (2/3) > >>

html_coder:
Вообщем весь этот код ужаснейший гемор!

Повторяюсь ещё раз для добавления элементов надо использовать функции DOM, а не регулярные выражения!

Твой код не заработал не в FF не в IE, так что не понятно почему ты назвал его рабочим!

Night_Wolf:
У меня в IE и Opera все работает...

Выложу еще раз:
[code]



var c=0; //счётчик количества строк
function addline()
{
c++; // увеличиваем счётчик строк
s=document.getElementById(\'table\').innerHTML; // получаем HTML-код таблицы
s=s.replace(/[\\r\\n]/g,\'\'); // вырезаем все символы перевода строк
re=/(.*)()()/gi;
                // это регулярное выражение позволяет выделить последнюю строку таблицы
s1=s.replace(re,\'$2\'); // получаем HTML-код последней строки таблицы
s2=s1.replace(/\\[\\d+\\]/gi,\'[\'+c+\']\'); // заменяем все цифры к квадратных скобках
                // на номер новой строки
s2=s2.replace(/(rmline\\()(\\d+\\))/gi,\'$1\'+c+\')\');
                // заменяем аргумент функции rmline на номер новой строки
s=s.replace(re,\'$1$2\'+s2+\'$3\');
                // создаём HTML-код с добавленным кодом новой строки
document.getElementById(\'table\').innerHTML=s;
                // возвращаем результат на место исходной таблицы
document.activeElement.focus();
return false; // чтобы не происходил переход по ссылке
}




Создание опроса

Вопрос[0]удалить





html_coder:
Night_Wolf

У меня загрузился только HTML, объясни толком что ты хочешь реализовать, а я постараюсь направить тебя на путь истинный!

Night_Wolf:
Странно, может форум коверкает какие-то символы...

Я решил это так:




var c=1; //счётчик количества строк
var l=0; //счётчик количества строк
function addline()
{
c++; // увеличиваем счётчик строк
l++;
s=document.getElementById(\'table\').innerHTML; // получаем HTML-код таблицы
s=s.replace(/[\\r\\n]/g,\'\'); // вырезаем все символы перевода строк
re=/(.*)()()/gi;
                // это регулярное выражение позволяет выделить последнюю строку таблицы
s1=s.replace(re,\'$2\'); // получаем HTML-код последней строки таблицы
s2=s1.replace(/\\[\\d+\\]/gi,\'[\'+c+\']\'); // заменяем все цифры к квадратных скобках
                // на номер новой строки
s2=s2.replace(/(rmline\\()(\\d+\\))/gi,\'$1\'+c+\')\');
                // заменяем аргумент функции rmline на номер новой строки
s=s.replace(re,\'$1$2\'+s2+\'$3\');
                // создаём HTML-код с добавленным кодом новой строки
document.getElementById(\'table\').innerHTML=s;
                // возвращаем результат на место исходной таблицы
document.forms[\'form\'].elements[\'vote[\'+l+\']\'].select();
return false; // чтобы не происходил переход по ссылке
}




Создание опроса

Вопрос[1]удалить






Если есть что улучшить, подскажите пожалуйста.


--- Цитировать --- объясни толком что ты хочешь реализовать, а я постараюсь направить тебя на путь истинный!
--- Конец цитаты ---


Вставляем курсор в форму. Ниже "рисуеться" новое поле. Курсор остаеться в поле, куда был вставлен курсор.

CGVictor:
html_coder
Он просто слизал его из соотв. статьи - помнится, на Цитфоруме - где в расчет берутся еще и не-DOM браузеры :)

Night_Wolf
html_coder прав. Переписать под DOM и не париться.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии