Von Version 11.8
bearbeitet von gru
am 02.03.2023, 09:15
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 9.6
bearbeitet von gru
am 05.10.2022, 13:43
Ä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,80 +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 -
10 -
11 -
12 -{{code language="javascript"}}function myFormCycleCallback(msg){
13 - $('#result').html('Nachricht von: "<b>' + msg.origin + '</b>" Formular mit id: "<b>' + msg.data + '</b>" wurde ausgewählt.' );
14 - renderForm(msg.data);
15 -}
16 -
17 -window.addEventListener("message", myFormCycleCallback, false);{{/code}}
18 -
19 -
20 -== 3. Ergebenis speichern: ==
21 -
22 -{{html clean="false"}}
23 - <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>
24 24  {{/html}}
25 25  
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"]].
26 26  
27 -== 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>
28 28  
29 -{{code language="js"}}
30 -window.renderForm = function(formId){
31 - var myBase = 'https://help6.formcycle.eu/xwiki/bin/edit/Examples/IncludeFormViaExternalContext/';
32 - var fcBase = 'https://pro.formcloud.de/formcycle';
33 - var myFormContainer = $('#content');
34 -
35 - var form = $.ajax({
36 - type: "GET",
37 - url: fcBase + '/form/provide/' + formId,
38 - data:{
39 - //Render-Parameter
40 - "xfc-rp-inline":true, //Verwendete resourcen auflösen
41 - "xfc-rp-form-only":true, //Formular ohne HTML, BODY etc.
42 - "xfc-rp-usejq":false, //jQuery einbinden
43 - "xfc-rp-keepalive":false, //Ping zur Sessionverlängerung
44 - "xfc-rp-usecss":true, //Use Formcycle CSS files
45 - "xfc-rp-useui":true, //jQueryUI einbinden
46 - //Prozess-Parameter
47 - "xfc-pp-external":true, //Externer Formularrequest
48 - "xfc-pp-base-url":fcBase, //URL zum FormCycle
49 - "xfc-pp-success-url": myBase + "/anfrage-versendet.html", //CMS Seite bei erfolg
50 - "xfc-pp-error-url": myBase + "/anfrage-fehler.html" //CMS Seite bei Fehler
51 - },
52 - cache: false,
53 - async: false,
54 - success:function(html){
55 - myFormContainer.html(html);
56 - },
57 - crossDomain: true
58 - });
59 -}
60 -{{/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}}
61 61  
29 +Die Einbindung erfolgt hier zur Demonstration in eine eigene HTML-Seite in einem iframe:
62 62  
63 -== 5. Ergebenis Formular: ==
64 -
65 65  {{html clean="false"}}
66 - <div class="hljs" id="content"></div>
67 -{{/html}}
68 -
69 -
70 -
71 -
72 -
73 -
74 -
75 -Für das folgenden Beispiel wird zu Demonstrationszwecken eine eigene [[HTML-Seite>>attach:iframe.html]] in einem iframe dargestellt:
76 -
77 -{{html clean="false"}}
78 78   <style type="text/css">
79 79   pre{
80 80   margin:0;
... ... @@ -112,12 +112,14 @@
112 112   margin:0;
113 113   padding:0;
114 114   border:0;
115 - height: inherit;
69 + width: 100%;
70 +height: 1000px;
116 116   }
117 - .border { border:4px dashed black; }
72 + /*style="width:100%; height:1000px; resize: both; overflow: auto;" */
73 + .ugly { border:4px dashed black; }
118 118   </style>
119 119  
120 - <div class="resizer border" style="height: 1000px;">
76 + <div class="resizer ugly">
121 121   <iframe id="customerdemo" class="resized" src="https://help7.formcycle.eu/xwiki/bin/download/Examples/IncludeAJAX/iframe.html"></iframe>
122 122   </div>
123 123  {{/html}}
iframe.html
Größe
... ... @@ -1,1 +1,1 @@
1 -893 bytes
1 +788 bytes
Inhalt
... ... @@ -6,16 +6,11 @@
6 6   <script src="https://demo7.formcycle.eu/formcycle/form/includes/010-jquery-min.js?_nc=1637667410192"></script>
7 7   <!-- configure path to your server, the id of the content element where the form should placed into and id of the form.-->
8 8   <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>
9 - <style>
10 - h1.page, p.page {
11 - text-align: center;
12 - }
13 - </style>
14 14   </head>
15 15  
16 16   <body class="body">
17 - <h1 class="page">Beispielwebseite</h1>
18 - <p class="page">Mit dem obenstehenden Code kann ein FORMCYCLE Formular per AJAX in die Website geladen werden.</p>
12 + <h1>Beispielwebseite</h1>
13 + <p>Mit dem obenstehenden Code kann ein FORMCYCLE Formular per AJAX in die Website geladen werden.</p>
19 19   <!-- this is the div where the form will be placed into -->
20 20   <div id="content"></div>
21 21   </body>