Как сделать обработчик событий в iframe

S3
На сайте с 29.03.2012
Offline
367
939

Сделал себе простенький WISIWYG обработчик данных в форме.

данные вводятся в iframe c id="frameid"

При нажатии кнопки Данные копируются в обычный textarea ну и дальше обрабатываю как мне надо. Тут все понятно. Но возникла необходимость,если допустим, установлен флажок, автоматически копировать содержимое этого фрейма в другую textarea. Как этоможно сделать?

сейчас по клику запускаю :


document.getElementById('cont').value=iDoc.body.innerHTML

А вот как сделать постоянное копирование- не знаю.

Пробовал:


$('#frameId').change(function () {
document.getElementById('cont').value = iDoc.body.innerHTML
});

Не работает...

S
На сайте с 02.05.2014
Offline
61
#1
Sly32:

данные вводятся в iframe c id="frameid"
$('#frameId').change(function () {

Обработчик change срабатывает только на элементах типа input, textarea и select.

S3
На сайте с 29.03.2012
Offline
367
#2

Sujcnm, Это я уже понял. Вопрос теперь в том, как выкрутиться с фреймом...

PN
На сайте с 22.08.2012
Offline
103
#3


window.setInterval(function() {
document.getElementById('cont').value=iDoc.body.innerHTML;
}, 500);
Мой совет помог? Не скупись! Bitcoin 1Lseddet1o1B6odgXQHbGaWGwRkt1Db8Ef Ethereum 0x450f1a17461e25194B7F9226cDEe70173F39e1e1
K
На сайте с 03.06.2015
Offline
45
#4

Событие change поднимается от полей до формы. Это значит вместо pull, вам нужен push - пихать данные из фрейма в элемент родительского документа, или типа того.

MYSQL PHP JS HTML CSS SEO TXT США СССР
S3
На сайте с 29.03.2012
Offline
367
#5
kostyanet:
Событие change поднимается от полей до формы. Это значит вместо pull, вам нужен push - пихать данные из фрейма в элемент родительского документа, или типа того.

А можно поподробнее?

Возникла идея сделать как визуальный, так и редактор кодов. Разместил фрейм и текстареа в различных вкладках(с помощью UI)

Нужно чтоб по нажжатию на вкладку копировалась информация. Из фрейма в текстареа - никакихпроблем :


$('[title = "Редактор кода"]').click(function () {
document.getElementById('cont').value = iDoc.body.innerHTML;

а вот обратно не получается.


$('[title = "Визуальный редактор"]').click(function () {
var inHTML = document.getElementById('cont').value;
iDoc.write(inHTML);
})

Каждый раз добавляет информацию из текстареа в фрейм а не заменяет.

K
На сайте с 03.06.2015
Offline
45
#6

Почему бы вам не скачать готовый редактор, их же как грязи и один явно рулит. Я увидел что вы по тайтлу идентифицируете элемент и понял что культуры нету.

S3
На сайте с 29.03.2012
Offline
367
#7
kostyanet:
Почему бы вам не скачать готовый редактор, их же как грязи и один явно рулит. Я увидел что вы по тайтлу идентифицируете элемент и понял что культуры нету.

Ставил и СКЕ и Тину, но в данном варианте они просто избыточны, а мне нужно простое редактирование.

По тайтлу - пока смог подобрать единственно рабочий вариант, потому что на эти же id навешены события из UI-query. Ну и просто в качестве изучения Jquery.

а с проблемой копирования из текстареа в ифрэйм разобрался следующим кодом:

$('[title = "Визуальный редактор"]').click(function () {

var inHTML = document.getElementById('cont').value;
iDoc.open();
iDoc.write(inHTML);
iDoc.close();
})

теперь каждый раз данные переписываются и нет дублей.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий