Forum Webscript.Ru

Дизайн и Верстка => Всё о Html => Тема начата: Bum от 18 Июля 2001, 17:36:29

Название: Как вставить что-то в поле формы?
Отправлено: Bum от 18 Июля 2001, 17:36:29
Как в чатах, например вставляют смайлики.
Только там:
...value+="...";
А мне  надо вставить именно в позицию курсора.
Название: Как вставить что-то в поле формы?
Отправлено: lodevar от 19 Июля 2001, 10:38:54
Пиши на Java. Повозись с, например, clipboard\'ом или еще как.
Название: Как вставить что-то в поле формы?
Отправлено: Bum от 20 Июля 2001, 19:55:47
А на JavaScript никак?
Название: Как вставить что-то в поле формы?
Отправлено: Haze от 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 от 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 от 24 Июля 2001, 20:17:44
Ну хоть иногда можно головой работать? :)
Имя формы = Form
Имя текстового поля = Area
Название: Как вставить что-то в поле формы?
Отправлено: Bum от 26 Июля 2001, 20:18:31
Цитировать
Haze (24-07-2001 20:17):
Ну хоть иногда можно головой работать? :)
Имя формы = Form
Имя текстового поля = Area
ДАк ЯСЕН ПЕнь!
Он(IE) все равно пишет то, что я сказал.
Название: Как вставить что-то в поле формы?
Отправлено: Haze от 26 Июля 2001, 21:05:28
Ну не знаю тогда... Кинь мне всю страничку, если она не большая, посмотрю, может и пойму в чем дело...