Показать сообщение отдельно
  #1 (permalink)  
Старый 05.01.2009, 14:26
Kapriz
 
Сообщений: n/a

Как поймать родительское окно.
Как поймать родительское окошко из дочернего? А именно, надо найти textarea по id в родительском окошке, и вставить туда данные.

Сейчас сделал скрипт, типа текстового редактора. Кнопки находятся в том-же документе, где и textarea. Работает.

Делаю функцию загрузки и вставки файлов. При нажатии на кнопку в редакторе вылезает окошко, которое загружает файлы в папку пользователя и всячески администрирует их. Вопрос - как сделать вставку ссылки на файл в родительский, основной документ?

Вот основной скрипт:
Код:
function tagit(txtstart,txtend) {
	document.getElementById('editor_field').focus();
	if (document.selection) {
			// ie & may be opera 8     
			var rng = document.selection.createRange();
			if (rng.text) {
				document.selection.createRange().text = txtstart + rng.text + txtend;
				} else {
				document.getElementById('editor_field').value += txtstart  + txtend;
				}
			document.getElementById('editor_field').focus();
			}
	else if (document.getElementById('editor_field').selectionStart || document.getElementById('editor_field').selectionStart == '0') {
	// mozilla: intellegent bcodes support     
	var selStart = document.getElementById('editor_field').selectionStart;
	var selEnd = document.getElementById('editor_field').selectionEnd; 
	var s = document.getElementById('editor_field').value;     
	s = s.substring(0, selStart) + txtstart + s.substring(selStart, selEnd) + txtend + s.substring(selEnd, s.length);
		document.getElementById('editor_field').value = s; 
	if (selEnd != selStart) {
		document.getElementById('editor_field').selectionStart = selStart;
		document.getElementById('editor_field').selectionEnd = selEnd + txtstart.length + txtend.length;
		} else {
		document.getElementById('editor_field').selectionStart = selStart + txtstart.length;
		document.getElementById('editor_field').selectionEnd = document.getElementById('editor_field').selectionStart;
		}
	} else {
	// other browsers     
	document.getElementById('editor_field').value += txtstart + txtend;   
	}
	}
Ответить с цитированием