Программирование > JavaScript & JScript
javascript курсор наместе после onclick
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 и не париться.
Навигация
Перейти к полной версии