Von Version 11.11
bearbeitet von gru
am 02.03.2023, 09:20
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 8.5
bearbeitet von gru
am 05.10.2022, 13:32
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Titel
... ... @@ -1,1 +1,1 @@
1 -Formular über externen Kontext einbinden
1 +Formular per AJAX einbinden
Inhalt
... ... @@ -1,79 +1,34 @@
1 -== 1. Externen Kontext via iFrame einbinden z.B. ==
2 -
3 -[[https://pro.form.cloud/formcycle/external/forms/main.xhtml]]
4 -
5 -TODO: iframe
6 -
7 -== 2. Eventlistener für Formularauswahl registrieren z.B.: ==
8 -
9 -{{code language="javascript"}}
10 -function myFormCycleCallback(msg){
11 - $('#result').html('Nachricht von: "<b>' + msg.origin + '</b>" Formular mit id: "<b>' + msg.data + '</b>" wurde ausgewählt.' );
12 - renderForm(msg.data);
13 -}
14 -
15 -window.addEventListener("message", myFormCycleCallback, false);
16 -{{/code}}
17 -
18 -== 3. Ergebenis speichern: ==
19 -
20 -TODO: Iframe
21 -{{html clean="false"}}
22 - <div class="hljs" id="result"></div>
1 +{{html clean="false"}}
2 + <style type="text/css">
3 + span.box{
4 + display: block;
5 + padding: 20px;
6 + }
7 + </style>
23 23  {{/html}}
24 24  
10 +Sie können das Formular direkt per AJAX ohne IFrames in Ihre Webseite einbinden. Unterstützung der möglichen Einbindungsoptionen finde Sie in FORMCYCLE direkt unter [[Veröffentlichen>>doc:Formcycle.UserInterface.MyForms.Publish.WebHome||target="_blank"]].
25 25  
26 -== 4. Formular einbinden: ==
12 + {{code}} <!DOCTYPE html>
13 + <html>
14 + <head>
15 + <meta charset="utf-8">
16 + <!-- jQuery must be loaded-->
17 + <script src="https://demo7.formcycle.eu/formcycle/form/includes/010-jquery-min.js?_nc=1637667410192"></script>
18 + <!-- configure path to your server, the id of the content element where the form should placed into and id of the form.-->
19 + <script src="https://demo7.formcycle.eu/formcycle/form/include.js?auto=1&form_container_id=content&form_id=564&form_base=https://demo7.formcycle.eu/formcycle"></script>
20 + </head>
27 27  
28 -{{code language="js"}}
29 -window.renderForm = function(formId){
30 - var myBase = 'https://help7.formcycle.eu/xwiki/bin/view/Examples/IncludeExternalContext/';
31 - var fcBase = 'https://pro.form.cloud/formcycle';
32 - var myFormContainer = $('#content');
33 -
34 - var form = $.ajax({
35 - type: "GET",
36 - url: fcBase + '/form/provide/' + formId,
37 - data:{
38 - //Render-Parameter
39 - "xfc-rp-inline":true, //Verwendete resourcen auflösen
40 - "xfc-rp-form-only":true, //Formular ohne HTML, BODY etc.
41 - "xfc-rp-usejq":false, //jQuery einbinden
42 - "xfc-rp-keepalive":false, //Ping zur Sessionverlängerung
43 - "xfc-rp-usecss":true, //Use Formcycle CSS files
44 - "xfc-rp-useui":true, //jQueryUI einbinden
45 - //Prozess-Parameter
46 - "xfc-pp-external":true, //Externer Formularrequest
47 - "xfc-pp-base-url":fcBase, //URL zum FormCycle
48 - "xfc-pp-success-url": myBase + "/anfrage-versendet.html", //CMS Seite bei erfolg
49 - "xfc-pp-error-url": myBase + "/anfrage-fehler.html" //CMS Seite bei Fehler
50 - },
51 - cache: false,
52 - async: false,
53 - success:function(html){
54 - myFormContainer.html(html);
55 - },
56 - crossDomain: true
57 - });
58 -}
59 -{{/code}}
22 + <body class="body">
23 + <!-- this is the div where the form will be placed into -->
24 + <div id="content"></div>
25 + </body>
26 + </html>
27 + {{/code}}
60 60  
29 +Die Einbindung erfolgt hier zur Demonstration in eine eigene HTML-Seite in einem iframe:
61 61  
62 -== 5. Ergebenis Formular: ==
63 -
64 64  {{html clean="false"}}
65 - <div class="hljs" id="content"></div>
66 -{{/html}}
67 -
68 -
69 -
70 -
71 -
72 -
73 -
74 -Für das folgenden Beispiel wird zu Demonstrationszwecken eine eigene [[HTML-Seite>>attach:iframe.html]] in einem iframe dargestellt:
75 -
76 -{{html clean="false"}}
77 77   <style type="text/css">
78 78   pre{
79 79   margin:0;
... ... @@ -98,25 +98,12 @@
98 98   text-align:center;
99 99   }
100 100  
101 - .resizer {
102 - display:flex;
103 - margin:0;
104 - padding:0;
105 - resize:both;
106 - overflow:hidden
56 + span.box{
57 + display: block;
58 + padding: 20px;
107 107   }
108 -
109 - .resizer > .resized {
110 - flex-grow:1;
111 - margin:0;
112 - padding:0;
113 - border:0;
114 - height: inherit;
115 - }
116 - .border { border:4px dashed black; }
117 117   </style>
118 118  
119 - <div class="resizer border" style="height: 1000px;">
120 - <iframe id="customerdemo" class="resized" src="https://help7.formcycle.eu/xwiki/bin/download/Examples/IncludeAJAX/iframe.html"></iframe>
121 - </div>
62 +
63 + <iframe id="customerdemo" style="width:100%; height:900px" src="https://help7.formcycle.eu/xwiki/bin/download/Examples/IncludeAJAX/iframe.html"></iframe>
122 122  {{/html}}