Автор Тема: Как вставить что-то в поле формы?  (Прочитано 3516 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Bum

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 57
  • +0/-0
  • 0
    • Просмотр профиля
Как в чатах, например вставляют смайлики.
Только там:
...value+="...";
А мне  надо вставить именно в позицию курсора.

Оффлайн lodevar

  • Сеньор-Помидор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 757
  • +0/-0
  • 2
    • Просмотр профиля
    • http://lodevar.hut.ru
Как вставить что-то в поле формы?
« Ответ #1 : 19 Июля 2001, 10:38:54 »
Пиши на Java. Повозись с, например, clipboard\'ом или еще как.
С наилучшими пожеланиями. LODEVAR

Оффлайн Bum

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 57
  • +0/-0
  • 0
    • Просмотр профиля
Как вставить что-то в поле формы?
« Ответ #2 : 20 Июля 2001, 19:55:47 »
А на JavaScript никак?

Оффлайн Haze

  • Просто я...
  • Пользователь
  • **
  • Сообщений: 70
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.baltic.ee
Как вставить что-то в поле формы?
« Ответ #3 : 23 Июля 2001, 01:12:20 »
Держи, надеюсь, разберешься как этим пользоваться :))

function Cursor() {
   if((navigator.appName != "Microsoft Internet Explorer") ||
      (navigator.userAgent.indexOf("Opera") != -1)) {
      text_before=document.Form.Area.value;
      text_after="";
   }
   else {
      document.Form.Area.focus();

      var sel=document.selection.createRange();
      sel.collapse();

      var sel_before=sel.duplicate();
      var sel_after=sel.duplicate();

      sel.moveToElementText(document.Form.Area);
      sel_before.setEndPoint("StartToStart",sel);
      sel_after.setEndPoint("EndToEnd",sel);

      text_before=sel_before.text;
      text_after=sel_after.text;
   }
}

function Insert(Letter) {
   Cursor();
   document.Form.Area.value = text_before + Letter + text_after;
}

Оффлайн Bum

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 57
  • +0/-0
  • 0
    • Просмотр профиля
Как вставить что-то в поле формы?
« Ответ #4 : 24 Июля 2001, 14:48:12 »
Цитировать
Haze (23-07-2001 01:12):
Держи, надеюсь, разберешься как этим пользоваться :))

function Cursor() {
   if((navigator.appName != "Microsoft Internet Explorer") ||
      (navigator.userAgent.indexOf("Opera") != -1)) {
      text_before=document.Form.Area.value;
      text_after="";
   }
   else {
      document.Form.Area.focus();

      var sel=document.selection.createRange();
      sel.collapse();

      var sel_before=sel.duplicate();
      var sel_after=sel.duplicate();

      sel.moveToElementText(document.Form.Area);
      sel_before.setEndPoint("StartToStart",sel);
      sel_after.setEndPoint("EndToEnd",sel);

      text_before=sel_before.text;
      text_after=sel_after.text;
   }
}

function Insert(Letter) {
   Cursor();
   document.Form.Area.value = text_before + Letter + text_after;
}

На строке
sel.moveToElementText(document.Form.Area);
Выдает Invalid Argument.

Оффлайн Haze

  • Просто я...
  • Пользователь
  • **
  • Сообщений: 70
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.baltic.ee
Как вставить что-то в поле формы?
« Ответ #5 : 24 Июля 2001, 20:17:44 »
Ну хоть иногда можно головой работать? :)
Имя формы = Form
Имя текстового поля = Area

Оффлайн Bum

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 57
  • +0/-0
  • 0
    • Просмотр профиля
Как вставить что-то в поле формы?
« Ответ #6 : 26 Июля 2001, 20:18:31 »
Цитировать
Haze (24-07-2001 20:17):
Ну хоть иногда можно головой работать? :)
Имя формы = Form
Имя текстового поля = Area
ДАк ЯСЕН ПЕнь!
Он(IE) все равно пишет то, что я сказал.

Оффлайн Haze

  • Просто я...
  • Пользователь
  • **
  • Сообщений: 70
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.baltic.ee
Как вставить что-то в поле формы?
« Ответ #7 : 26 Июля 2001, 21:05:28 »
Ну не знаю тогда... Кинь мне всю страничку, если она не большая, посмотрю, может и пойму в чем дело...

 

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