[gelöst] Webform über Ajax laden
Eingetragen von Anonymous (0)
am 16.10.2013 - 19:38 Uhr in
am 16.10.2013 - 19:38 Uhr in
Hallo Zusammen
Folgende Situation. Ich lade über einen Link in einer Page eine Webform per Ajax, was auch super funktioniert. Allerdings funktioniert die Submit-Funktion nicht über Ajax, obwohl dies so eingestellt ist. Normalerweise kann man diese Webform auch über Ajax versenden, nur eben nicht, wenn ich sie über Ajax in eine andere Page lade.
Im Netz gib es einige Einträge dazu, doch hat mir diesebzüglich keiner geholfen. Ich poste mal den Code, eventuell kann mir jemand von euch weiterhelfen.
JS Datei
$('a.somelink').click(function(){
$.ajax({
type: 'POST',
url: '/admin/somurl',
async: false,
success: function(values){
elements = $.parseJSON(values);
},
error: function(){
console.log('error');
}
});
Drupal.attachBehaviors();
$('.somediv').html(elements );
return false;
});
Drupal Custom Module
function custom_menu() {
$items = array();
$items['admin/somurl'] = array(
'title' => 'Some title',
'description' => 'Some description',
'page callback' => '_custom_function',
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
return $items;
}
function _custom_function(){
$block = module_invoke('webform', 'block_view', 'client-block-17');
if ($block['content']) {
$output = "<div class=\"front-page-block\">\n";
$output .= "<div id=\"front-block-title\"><h2>" . $block['subject'] . "</h2></div>\n";
$output .= "<div class=\"content\">" . $block['content']."</div>\n";
$output .= "</div>\n";
}
print json_encode(render($output));
}
- Anmelden oder Registrieren um Kommentare zu schreiben
Ist nun schon eine Weile her,
am 05.11.2014 - 17:00 Uhr
Ist nun schon eine Weile her, hatte es dazumal über das Modul Colorbox Node gelöst, da die Webform ja ebenfalls eine Node ist hat es perfekt funktioniert.