0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 13
1

всплывающая окно для веб формы

21.06.2013, 17:40. Показов 50370. Ответов 4
Метки нет (Все метки)

Доброе время суток возник такой вопрос кто не будь реализовывал такую схему
есть кнопка по нажатию которой появляется всплывающая окно а в нем компонент веб формы?

Добавлено через 2 часа 25 минут
Пытаюсь таким способом

На странице
PHP
1
<?CUtil::InitJSCore(array('window'));?>
Потом тело формы ну сома форма:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript">
<!--
var Dialog = new BX.CDialog({
   title: "Заголовок окна",
   head: 'Текст до формы',
   content: '<form method="POST" style="overflow:hidden;" action="/search/" id="searchform">\
      <textarea name="search" style="height: 78px; width: 374px;">Ищем много текста</textarea>\
      </form>',
   icon: 'head-block',
 
   resizable: true,
   draggable: true,
   height: '168',
   width: '400',
   buttons: ['<input type="submit" value="test" />', BX.CDialog.btnSave, BX.CDialog.btnCancel, BX.CDialog.btnClose]
});
//-->
</script>

И кнопка там где нужен вызов окошка
PHP
1
<input type="button" value="" OnClick="Dialog.Show();" />

В итоге работает появилось окно можно вводить текст
но я думаю как вставить туда веб форму
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?$APPLICATION->IncludeComponent(
    "bitrix:form",
    ".default",
    Array(
        "AJAX_MODE" => "Y",
        "SEF_MODE" => "N",
        "WEB_FORM_ID" => "38",
        "RESULT_ID" => $_REQUEST[RESULT_ID],
        "START_PAGE" => "new",
        "SHOW_LIST_PAGE" => "Y",
        "SHOW_EDIT_PAGE" => "Y",
        "SHOW_VIEW_PAGE" => "Y",
        "SUCCESS_URL" => "",
        "SHOW_ANSWER_VALUE" => "N",
        "SHOW_ADDITIONAL" => "N",
        "SHOW_STATUS" => "Y",
        "EDIT_ADDITIONAL" => "N",
        "EDIT_STATUS" => "Y",
        "NOT_SHOW_FILTER" => array(),
        "NOT_SHOW_TABLE" => array(),
        "CHAIN_ITEM_TEXT" => "",
        "CHAIN_ITEM_LINK" => "",
        "IGNORE_CUSTOM_TEMPLATE" => "N",
        "USE_EXTENDED_ERRORS" => "N",
        "CACHE_TYPE" => "A",
        "CACHE_TIME" => "3600",
        "AJAX_OPTION_JUMP" => "N",
        "AJAX_OPTION_STYLE" => "Y",
        "AJAX_OPTION_HISTORY" => "N",
        "VARIABLE_ALIASES" => Array(
            "action" => "action"
        )
    )
);?>
Вот код веб формы.
Но все равно не знаю куда его вставить

Добавлено через 2 часа 40 минут
дальше
убираем все из тела формы оставляем так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script type="text/javascript">
<!--
var Dialog = new BX.CDialog({
   title: "Подать Заявку",
   content: '<form></form>',
 
 
 icon: 'head-block',
 
   resizable: true,
   draggable: true,
   height: '300',
   width: '300',
   buttons: [BX.CDialog.btnClose]
});
//-->
вывод пустоты
PHP
1
 '<form></form>'
В итоге получилась пустая форма.
Дальше нужно вставить во внутрь этой пустой формы компонент веб форма.
Кто знает как сделать?

Добавлено через 4 часа 2 минуты
Есть у кого какие варианты?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2013, 17:40
Ответы с готовыми решениями:

Всплывающая окно-подсказка
Здравствуйте! Подскажите как сделать всплывающую подсказку при наведении курсора на ссылку, в этом...

Как создать диалоговое окно вида для веб
Доброе время суток! Появилась задача для веб доступа, что бы создать диалоговое окно с выбором...

Всплывающая реклама в браузере, открывается окно с рекламой
Этот лог с другого компьютера. Компьютер долго грузится. Как будто прогружает множество программ....

Всплывающая реклама в браузере, открывается окно с рекламой
Проблема: всплывающая реклама в браузере, открывается окно с рекламой. есть ли другие вирусы на...

4
1 / 1 / 2
Регистрация: 01.04.2011
Сообщений: 76
22.06.2013, 15:01 2
Лучше всего сделать так все получится вот таким образом)
Готовим javascript
Для создания всплывающих окон воспользуемся плагином jquery.fancybox. Подключаем его в шаблоне сайта или непосредственно на странице, где будет ссылка для вызова окна, предварительно скопировав содержимое архива на сайт (в примере это /js/fancybox/).
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript" src="/js/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<link rel="stylesheet" type="text/css" href="/js/fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<script type="text/javascript">
$(function() {
    // ссылка для вызова окна должна иметь класс "popup"
    $('a.popup').fancybox({
        'overlayShow': false, // значения параметров можно посмотреть на сайте разработчика
        'padding': 0,
        'margin' : 0,
        'scrolling' : 'no',
        'titleShow': false,
        'type': 'ajax',
        'href': '/ajax_popup.php' // описание скрипта будет дано ниже по тексту:)
    });
});
</script>
<a class="popup" href="">Открыть окно</a>

Готовим форму
Итак, скрипт вызова формы будет находиться в файле /ajax_popup.php — он упоминался в javascript-коде выше. Создаем этот файл как обычную страницу в 1с-Битрикс, кладем и настраиваем!!! на ней нужный компонент, при необходимости изменения внешнего вида копируем шаблон. В процессе настройки не забудьте поставить галочку на «Включить режим AJAX». Если ее нет, не отчаивайтесь, пропишем руками позже. Далее, открываем страницу на редактирование в режиме php и находим код вызова компонента. Сделать это просто, он всегда начинается с текста ‘<?$APPLICATION->IncludeComponent(‘ и заканчивается первой попавшейся ‘);?>’.

Все что выше этого куска кода заменяем на


PHP
1
2
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");?>
<script type="text/javascript" src="/bitrix/js/main/ajax.js"></script>

Prolog_before.php подключит необходимые системе файлы без вывода шапки шаблона сайта, она в всплывающем окне не нужна. Скрипт ajax.js нужен для работы компонентов в режиме ajax.

Все что ниже подключения компонента заменяем на

PHP
1
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");?>
Epilog_after.php подключит необходимые системе файлы без вывода подвала шаблона сайта.

Все, можно кликать на ссылку (которая на странице с javascript’ом и имеет класс «popup») и любоваться результатом
1
0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 13
22.06.2013, 15:02  [ТС] 3
Спасибо все сработало)
0
Andrew_li
19.07.2013, 16:35 4
Motor1 спасибо, тоже был данный вопрос.
Подскажите, как сделать возможность скачивания файла после заполнения формы?
Добавил в ajax_popup.php
PHP
1
2
3
if($_GET['formresult'] == 'addok'){
    header("location: ".$_SERVER['HTTP_REFERER']."&getfile=ok");
}
а в файле куда возвращается index.php поставил условие
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if($_GET['getfile'] == 'ok'){
            header("Cache-Control: public");
            header("Content-Description: File Transfer");
            header("Content-Disposition: attachment; filename=".$c_Type['basename']);
            header('Content-Type: application/octet-stream'); 
            header("Content-Transfer-Encoding: binary"); 
            header('Expires: 0'); 
            header('Cache-Control: must-revalidate'); 
            header('Pragma: public'); 
            header("Content-Type: $c_Type");
            ob_clean(); 
            flush();
            readfile($file_doc);
            exit; 
        }
но работает странно, в pdf скачивается но не открываеться
Веб-Разработчик
82 / 82 / 9
Регистрация: 23.01.2012
Сообщений: 701
18.11.2013, 10:43 5
Я пытался реализовать такую идею средствами бутстрапа. цсс код прописал в шаблоне веб формы. однако у меня не работали кнопки отправки данных, поэтому эту идею я пока отложил. но вот сучайно на вас наткнулся, господа, в скором времени попробую это сделать снова
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2013, 10:43
Помогаю со студенческими работами здесь

Id Для Формы Под Веб
Можно ли установить id для формы при открытии ее под веб? Заранее благодарю.

Как написать UPDATE для веб-формы
Всем добрый день. Так как только учусь хочу спросить...есть веб-форма на которой cheekbox-ы и...

Страницы (веб-формы) для работы с сотрудниками и отделами
Само задание: 1. Необходимо спроектировать и создать две таблицы: «Сотрудники» и «Отделы»:...

Доступ к веб форме, через другие веб формы
Существует 2 веб формы(А и Б), которые обе открывают веб форму В. Как на веб форме В определить с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru