Как включить ввод форм в скрытом лайтбоксе div?
Используя jQuery 1.8 и плагин prettyPhoto, встроенный контент для лайтбокса становится скрытым div, который загружается при нажатии на указанную ссылку:
<a href="#private" rel="prettyPhoto[inline]">Select Groups</a>
<div id="private" style="display:none;">
<?php
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$db->setQuery("SELECT * FROM #__community_groups_members AS a
INNER Join #__community_groups AS b
ON b.id = a.groupid
WHERE a.memberid = $user_id
AND a.approved = 1");
$groups = $db->loadObjectList();
foreach($groups as $groupData){
echo "<input type=\"checkbox\" id=\"chk\" name=\"groups[]\" value=\"".$groupData->id."\" />".$groupData->name."<br />";
}
?>
</p>
</div>
Когда этот лайтбокс закрыт, флажки сняты, поэтому ввод не возвращается через главную страницу / форму. Я попытался использовать jQuery для включения входных данных, думая, что это может помочь, но все же значения не передаются в массив post. Вот функция, которую я решил исправить, но не дал никакого эффекта:
<script type="text/javascript" charset="utf-8">
jQuery(document).ready(function(){
jQuery("#chk").prop("disabled", false);
});
</script>
Примечание. Эта функция находится внизу страницы.
Как мне использовать те входные данные, которые находятся в скрытом блоке div?
1 ответ
Добавьте дополнительный javascript для обработки пользовательских событий, когда видимы входы на основе лайтбокса.
Например, добавьте скрытое поле в форму, которая будет отправлена. Когда лайтбокс открыт, запишите действия пользователя, чтобы обновить значение (я) скрытого поля. Затем, когда форма отправлена, она отправит данные из поля.