Formular über externen Kontext einbinden
1. Externen Kontext via iFrame einbinden z.B.
https://pro.form.cloud/formcycle/external/forms/main.xhtml
TODO: iframe
2. Eventlistener für Formularauswahl registrieren z.B.:
function myFormCycleCallback(msg){
$('#result').html('Nachricht von: "<b>' + msg.origin + '</b>" Formular mit id: "<b>' + msg.data + '</b>" wurde ausgewählt.' );
renderForm(msg.data);
}
window.addEventListener("message", myFormCycleCallback, false);
$('#result').html('Nachricht von: "<b>' + msg.origin + '</b>" Formular mit id: "<b>' + msg.data + '</b>" wurde ausgewählt.' );
renderForm(msg.data);
}
window.addEventListener("message", myFormCycleCallback, false);
3. Ergebenis speichern:
4. Formular einbinden:
window.renderForm = function(formId){
var myBase = 'https://help6.formcycle.eu/xwiki/bin/edit/Examples/IncludeFormViaExternalContext/';
var fcBase = 'https://pro.formcloud.de/formcycle';
var myFormContainer = $('#content');
var form = $.ajax({
type: "GET",
url: fcBase + '/form/provide/' + formId,
data:{
//Render-Parameter
"xfc-rp-inline":true, //Verwendete resourcen auflösen
"xfc-rp-form-only":true, //Formular ohne HTML, BODY etc.
"xfc-rp-usejq":false, //jQuery einbinden
"xfc-rp-keepalive":false, //Ping zur Sessionverlängerung
"xfc-rp-usecss":true, //Use Formcycle CSS files
"xfc-rp-useui":true, //jQueryUI einbinden
//Prozess-Parameter
"xfc-pp-external":true, //Externer Formularrequest
"xfc-pp-base-url":fcBase, //URL zum FormCycle
"xfc-pp-success-url": myBase + "/anfrage-versendet.html", //CMS Seite bei erfolg
"xfc-pp-error-url": myBase + "/anfrage-fehler.html" //CMS Seite bei Fehler
},
cache: false,
async: false,
success:function(html){
myFormContainer.html(html);
},
crossDomain: true
});
}
var myBase = 'https://help6.formcycle.eu/xwiki/bin/edit/Examples/IncludeFormViaExternalContext/';
var fcBase = 'https://pro.formcloud.de/formcycle';
var myFormContainer = $('#content');
var form = $.ajax({
type: "GET",
url: fcBase + '/form/provide/' + formId,
data:{
//Render-Parameter
"xfc-rp-inline":true, //Verwendete resourcen auflösen
"xfc-rp-form-only":true, //Formular ohne HTML, BODY etc.
"xfc-rp-usejq":false, //jQuery einbinden
"xfc-rp-keepalive":false, //Ping zur Sessionverlängerung
"xfc-rp-usecss":true, //Use Formcycle CSS files
"xfc-rp-useui":true, //jQueryUI einbinden
//Prozess-Parameter
"xfc-pp-external":true, //Externer Formularrequest
"xfc-pp-base-url":fcBase, //URL zum FormCycle
"xfc-pp-success-url": myBase + "/anfrage-versendet.html", //CMS Seite bei erfolg
"xfc-pp-error-url": myBase + "/anfrage-fehler.html" //CMS Seite bei Fehler
},
cache: false,
async: false,
success:function(html){
myFormContainer.html(html);
},
crossDomain: true
});
}
5. Ergebenis Formular:
Für das folgenden Beispiel wird zu Demonstrationszwecken eine eigene in einem iframe dargestellt:
pre{
margin:0;
}
.xm-form{
margin:0 auto;
}
.extra .hljs-string{
font-weight:bold;
color:red;
}
iframe, .hljs{
max-width:700px;
border:2px solid #515151;
}
.hljs{
max-width:985px;
text-align:center;
}
.resizer {
display:flex;
margin:0;
padding:0;
resize:both;
overflow:hidden
}
.resizer > .resized {
flex-grow:1;
margin:0;
padding:0;
border:0;
height: inherit;
}
.border { border:4px dashed black; }