Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.02.2013, 19:40
Новичок на форуме
Отправить личное сообщение для belovdo Посмотреть профиль Найти все сообщения от belovdo
 
Регистрация: 04.02.2013
Сообщений: 1

Создание и заполнение INPUT по клику из другого фрейма
Добрый день!

Помогите пожалуйста в решении проблемы. Знание JS на уровне копипаста (но за счет знания php понимаю принцип). Имеются два фрейма (FRAMESET, не IFRAME): левый (далее LF) и правый (далее RF). В LF форма, в RF каталог товаров. При клике на названии товара в RF должно происходить следующее: в DIV'e, расположенном в LF, создается INPUT с названием данного элемента. Впринципе, некое подобие корзины. Собрал следующий код для фрейма RF:

<script type="text/javascript">
var poscount = <?echo rand(1,999)?>000;

function setPos(obj) {
	parent.document.frames['manager'].document.getElementById('pos'+poscount).value=obj.id;
	parent.document.frames['manager'].document.getElementById('divpos'+poscount).innerHTML=obj.title;
}

function add_div() {

        var dcont  = parent.document.frames['manager'].document.getElementById('form_pos');
        var div = parent.document.frames['manager'].document.createElement('div');
        div.setAttribute('class','divAddPos ');
        div.setAttribute('id','divpos'+poscount);
        dcont.appendChild(div);
}

function add_input() {

	var Form = parent.document.frames['manager'].document.getElementById('form_pos')
	var Inner = parent.document.frames['manager'].document.createElement('input');

	Inner.type = 'hidden';
	Inner.id = 'pos' + poscount;
	Inner.name = 'PROPERTY[85]['+poscount +']'; 
	Form.appendChild(Inner);
}
</script>


и для LF:

<script type="text/javascript">
function add() {
	var Form = document.getElementById('form_pos')
	var Inner = document.createElement('input');
	Inner.type = 'text';
	Inner.value = '';
	Inner.name = 'PROPERTY[85]['+ poscount +']';
	Inner.size = '25';
	Inner.id = 'pos'+poscount;
	Form.appendChild(Inner);
}
</script>


В коде имеется дополнительный хлам, который генерит случайные ID и создает скрытые input'ы которые пишутся в БД при сохранении формы.

Беда заключается в том, что данный код работает в IE с вероятность 50% (в зависимости от версии) и не работает в других браузерах.

Думал что jquery поможет, но не смог найти информации по работе с фреймами (как говорится, правильный запрос можешь сформировать когда знаешь на него ответ).

Очень надеюсь на любую помощь! Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 04.02.2013, 22:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

belovdo,
parent.document.frames без document.
и

div.setAttribute('class','divAddPos ');
div.setAttribute('id','divpos'+poscount);

setAttribute не все ie поймут.
можно
div.className ='divAddPos';
div.id = 'divpos'+poscount;
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передать значение по клику в input nikolayblinov Элементы интерфейса 9 16.03.2023 17:49
Вставка данных по клику в разные input SGanabiS Элементы интерфейса 12 13.02.2013 17:16
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Заполнение input значением переменной с помощю jQuery barkov Общие вопросы Javascript 2 19.04.2012 15:47
Обращение к переменным, созданным в одном фрейме из другого фрейма. snowfed Общие вопросы Javascript 7 13.01.2009 03:54