Дизайн и Верстка > Всё о Html
Как вставить что-то в поле формы?
Bum:
Как в чатах, например вставляют смайлики.
Только там:
...value+="...";
А мне надо вставить именно в позицию курсора.
lodevar:
Пиши на Java. Повозись с, например, clipboard\'ом или еще как.
Bum:
А на JavaScript никак?
Haze:
Держи, надеюсь, разберешься как этим пользоваться :))
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:
--- Цитировать ---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.
Навигация
Перейти к полной версии