Страница 1 из 11
Модератор форума: JonMagon 
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » JavaScript » Быстрое редактирование дополнительных полей
Быстрое редактирование дополнительных полей
goox1793
Сообщений: 15
Репутация: 0

Сообщение # 1 | 16:26:25
Есть задача:
В модуле каталог сайтов, при выводе общего списка материалов, сделать возможность у каждого материала отредактировать одно дополнительное поле. Материалы сайта - это товары. Доп.поле - это цена. Было бы очень удобно редактировать сразу в общем списке товаров, не загружая отдельную страницу. Что подскажете?

Добавлено (27 Окт 2014, 16:26:25)
---------------------------------------------
Есть код:

При нажатии он как раз открывает окошко с редактированием доп.поля. Нажимаем "Редактировать" - сохраняет. Но при нажатии на кнопку следующего товара, всплывает окно с данными предыдущего редактирования.

2. Не удобно работать с окошком. Подскажите как сделать, чтобы было просто поле <textarea , а рядом кнопка сохранить, и работало бы для всех материалов со страницы.

H-Diez
Сообщений: 15
Репутация: 0

Сообщение # 2 | 23:58:18
Хелп!! Есть варианты?

$Tiny$
Сообщений: 193
Репутация: 61

Сообщение # 3 | 10:45:19
Ну, касательно данных предыдущего редактирования - скриптом создаются несколько разных фреймов с одинаковыми id. Поэтому браузер обращается к первому из них. Т.е. у вас не только загружаются старые данные, но и сохраняется в тот товар, который первым загрузили. Проблема лечится добавлением $ID$ к id фрейма.
Код
<script type="text/javascript">
tt$ID$ = function () {
var f = document.createElement('iframe');//через фрейм даже проще
f.src = '/dir/0-0-0-$ID$-13';
f.style.border = 0;
f.style.width = 0;
f.style.height = 0;
f.id = 'editFr$ID$';
f.onload = getValFramea$ID$;
document.body.appendChild(f);
}
getValFramea$ID$ = function () {
var valu = document.getElementById('editFr$ID$').contentWindow.document.getElementById('drF14').value;
new _uWnd('frmVal$ID$', 'Описание ', 300, 200, {oncontent:function(){document.getElementById('frmNowVal$ID$').value = valu;}},'<fieldset><legend>Ред </legend><div align="left"><textarea width:="" 100%;="" rows="8" id="frmNowVal$ID$" cols="55"></textarea></div><div align="left"><input type="button" value="Редактировать" onclick="changeVala$ID$()"></div></fieldset>');
}
changeVala$ID$ = function () {
var val = document.getElementById('frmNowVal$ID$').value;
document.getElementById('editFr$ID$').contentWindow.document.getElementById('drF14').value = val;
document.getElementById('editFr$ID$').contentWindow.document.getElementById('addEntForm').submit();
_uWnd.close('frmVal$ID$');
}
</script>
<a href="javascript:tt$ID$()">Редактировать</a></div>
Сообщение отредактировал $Tiny$ - Воскресенье, 16 Ноя 2014, 10:57:54
Head-Mad
Сообщений: 378
Репутация: 129

Сообщение # 4 | 19:58:40
H-Diez, при нажатии на кнопку редактировать, оборачиваешь блок товара в форму, добавляешь ssid + другие данные, которые нужны при редактировании выводишь поле для редактирования в нужном месте(соответственно в пределах формы и соответствующим именем), и кнопку сохранить. Редактируешь и сохраняешь.)

Можешь забрать этот код и вставить его себе, сам знаешь куда.
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » JavaScript » Быстрое редактирование дополнительных полей
Страница 1 из 11
Поиск: