Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Заполнение формы. Заполнение формы. 
:(
    Опции темы
DeMONiZ
Дата 30.12.2009, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.1.2009
Где: Первоуральск

Репутация: нет
Всего: нет



Здравствуйте! Я не большой знаток ява но скрипт нужен для админки. Нужен скрипт вроде такого как вот этот на форуме. То есть заполнение такой вот формы разным текстом. 
Привожу пример который удалось написать но он меня не устраивает так как он в одном случае очищает всю форму и вставляет в нее только одно а надо чтоб он вставлял текст(код) в ту область в которой стоит курсор и ни чего не очищал.

вот скрипт:
Код

<script type="text/javascript">
window.onload = function() {
document.getElementById('example').onclick = function() {
document.getElementById('search').value =  this.textContent + this.innerText;
return false;
};
};
</script>
<a href='#' id='example'>&lt;center>&lt;/center></a>


<textarea name="cop" id="search" rows=30 style="width: 800px"></textarea>


Помогите доработать или предложите что либо готовое или свое.
PM MAIL WWW   Вверх
AntonSaburov
Дата 30.12.2009, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Java и JavaScript - это совершенно не одно и тоже.
PM MAIL WWW ICQ   Вверх
bars80080
Дата 30.12.2009, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



ничего не понятно. здесь форму люди руками заполняют
PM MAIL WWW   Вверх
DeMONiZ
Дата 30.12.2009, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.1.2009
Где: Первоуральск

Репутация: нет
Всего: нет



что не понятно? когда тему создаешь тут кнопки код список шрифт и прочее... вот их жмешь и заполняется textarea вот мне и нужно подобное...
PM MAIL WWW   Вверх
bars80080
Дата 30.12.2009, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



извиняюсь, могу послать только к тигру (год как никак)

Как переместить (установить) текстовый курсор в начало или конец поля ввода textarea или input?

если поупражняться с      var start = obj.selectionStart; var end = obj.selectionEnd; то станет ясно, как они задаются
PM MAIL WWW   Вверх
DeMONiZ
Дата 30.12.2009, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.1.2009
Где: Первоуральск

Репутация: нет
Всего: нет



ну это понятн о а что ни кто не может предложить скрипт добавления вроде того что я написал но кот орый не затирает текст в форме а добавляет к нему?

Добавлено через 46 секунд
то есть  так сказать модифизировать мой....
PM MAIL WWW   Вверх
DeMONiZ
Дата 30.12.2009, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.1.2009
Где: Первоуральск

Репутация: нет
Всего: нет



Код

<script type="text/javascript">
window.onload = function() {
document.getElementById('example').onclick = function() {
document.getElementById('search').value =  this.textContent + this.innerText;
return false;
};
};
</script>
<a href="#" onclick="document.getElementById('search').value += this.textContent;">&lt;center>&lt;/center></a>
<a href="#" onclick="document.getElementById('search').value += this.textContent;">&lt;b>&lt;/b></a>


<textarea name="cop" id="search" rows=30 style="width: 800px">'



удалось дойти до такого, как сделать вставку туда где стоит курстор, этот вопрос остается актуальным.?!
PM MAIL WWW   Вверх
bars80080
Дата 30.12.2009, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



модифицируй изначально правильный, убери замену, оставь вставку
PM MAIL WWW   Вверх
DeMONiZ
Дата 30.12.2009, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.1.2009
Где: Первоуральск

Репутация: нет
Всего: нет



покажи на примере....если не трудно и если можно...
PM MAIL WWW   Вверх
bars80080
Дата 30.12.2009, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



Код

var BBCode = new Array('','','[i]','[/i]','[u]','[/u]','[align=left]','[/align]','[align=center]','[/align]','[align=right]','[/align]','[list]','\n[/list]','[li]','[/li]');
function insertBBCode(el, n) {
    var bk = document.getElementById('mytext'); if(!bk[0]) { return false; }
    obj = bk[0]; obj.focus();
    var alen = BBCode[n*2].length;
    if(document.selection) {
        var s = document.selection.createRange();
        var len = s.text.length;
        var nText = BBCode[n*2] + s.text + BBCode[n*2 + 1];
        s.text = nText;
        s = document.selection.createRange();
        var df = (len < 1) ? 0 : (len + alen);
        s.moveStart("character", df); s.moveEnd("character", -(alen + 1));
        s.select();
        return true;
    }
    else if(typeof(obj.selectionStart) == 'number') {
        var start = obj.selectionStart;
        var end = obj.selectionEnd;
        var rs = BBCode[n*2] + (obj.value.substr(start,end-start)) + BBCode[n*2 + 1];
        obj.value = obj.value.substr(0,start)+rs+obj.value.substr(end);
        obj.setSelectionRange(start + alen, end + alen);
        return true;
    }
    return false;
}

пользование
Код

<textarea id="mytext"></textarea>
<img src="align_left.gif" onclick="insertBBCode(this, 3);" alt="left" />
<img src="bold.gif" onclick="insertBBCode(this, 0);" alt="bold" />
<img src="underline.gif" onclick="insertBBCode(this, 2);" alt="underline" />
...


Добавлено через 1 минуту и 34 секунды
в массиве BBCode первые два элемента не пустые строки, а [ b] и [ /b] . просто обработчик их похерил
PM MAIL WWW   Вверх
DeMONiZ
Дата 31.12.2009, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.1.2009
Где: Первоуральск

Репутация: нет
Всего: нет



Что то не работает...
PM MAIL WWW   Вверх
bars80080
Дата 31.12.2009, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



ну, а провести минимальную отладку и выкинуть пару лишних нулей?

Код

<html><body>
<style>
textarea { width: 600px; height: 200px; }
.clear { clear: both; }
.bbline span { display: block; float: left; width: 16px; height: 16px; }
</style>
<script type="text/javascript">
var BBCode = new Array('[ b]','[/b]','[i]','[/i]','[u]','[/u]','[align=left]','[/align]','[align=center]','[/align]','[align=right]','[/align]','[list]','\n[/list]','[li]','[/li]');
function insertBBCode(el, n) {
    var bk = document.getElementById('mytext'); if(!bk) { return false; }
    obj = bk; obj.focus();
    var alen = BBCode[n*2].length;
    if(document.selection) {
        var s = document.selection.createRange();
        var len = s.text.length;
        var nText = BBCode[n*2] + s.text + BBCode[n*2 + 1];
        s.text = nText;
        s = document.selection.createRange();
        var df = (len < 1) ? 0 : (len + alen);
        s.moveStart("character", df); s.moveEnd("character", -(alen + 1));
        s.select();
        return true;
    }
    else if(typeof(obj.selectionStart) == 'number') {
        var start = obj.selectionStart;
        var end = obj.selectionEnd;
        var rs = BBCode[n*2] + (obj.value.substr(start,end-start)) + BBCode[n*2 + 1];
        obj.value = obj.value.substr(0,start)+rs+obj.value.substr(end);
        obj.setSelectionRange(end + alen, end + alen);
        return true;
    }
    return false;
}
</script>

<div class="bbline">
<button onclick="insertBBCode(this, 0);">Ж</button>
<button onclick="insertBBCode(this, 1);">Н</button>
<span onmousedown="insertBBCode(this, 2);">П</span>
</div><div class="clear"></div>
<textarea id="mytext" class="ARTFarea" name="field"></textarea>
</div>

</body>
</html>



Это сообщение отредактировал(а) bars80080 - 31.12.2009, 10:37
PM MAIL WWW   Вверх
DeMONiZ
Дата 31.12.2009, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.1.2009
Где: Первоуральск

Репутация: нет
Всего: нет



спасибо.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0720 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.