2012-03-31 13 views
0

Im Moment habe ich eine Drupal-Seite, wo ich eine benutzerdefinierte Front-End-Schnittstelle für die Erstellung eines bestimmten Typs von Knoten integrieren. Dieser benutzerdefinierte Bereich "Schnittstelle" wird oben auf der Node-Erstellungsseite eingebettet.Drupal CCK Felder und JQuery Dialog

Die CCK-Felder für den Knoten werden mithilfe des Fieldgroup-Moduls gruppiert, das sie in ein Wrapperfeld einfügt. Ich verwende den folgenden Code, um die Feldgruppen- in einen JQuery-Dialog zu ziehen, wenn der Benutzer eine Taste drückt:

var options = { 
    dialogClass: 'customDialog', 
    autoOpen: false, 
    draggable: false, 
    modal: true, 
    resizable: false, 
    height: 'auto', 
    width: 'auto', 
    title: 'Configure Options', 
    show: 'fade', 
    hide: 'fade', 
    buttons: { 
      'Update': function(){    
       $(this).dialog('close'); 
     } 
    } 
}; 

// open windows 
$("#inputButton").click(function() { 
    var dlg = $('.group_input').dialog(options); 
    dlg.css('min-width', '500px').css('max-height', '300px'); 
    dlg.dialog('open'); 
}); 

Alles funktioniert a-OK und Lasten bis im Dialog; Wenn der Benutzer jedoch die Schaltfläche "Aktualisieren" drückt, um den Dialog zu schließen, werden die CCK-Felder nicht mit den neuen Werten aktualisiert.

Dasselbe passiert, wenn ich ein einzelnes Feld in den Dialog lade, also weiß ich, dass es kein Problem mit dem Fieldgroup-Modul ist. Ich habe Tage lang gesucht, um dieses Problem zu lösen, und es scheint, dass niemand anderes auf dieses Problem gestoßen ist. Jede Eingabe würde sehr geschätzt werden.

EDIT:. ich eine Lösung und wird es veröffentlichen, sobald die 8 Stunden Einschränkung :(

Antwort

0

OK geht, so habe ich es endlich Für interessierte jemand in eines Knotens CCK Felder in ein JQuery-Dialog laden . nur, es wird die Formularwerte aktualisieren, wenn Sie den Dialog der Elemente zurück zum Formular anhängen Dies scheint zu geschehen, weil der JQuery-Dialog tatsächlich den geladenen Inhalt zerstört, wenn es geschlossen ist

die korrekte Umsetzung ist wie folgt:.

var options = { 
    dialogClass: 'customDialog', 
    autoOpen: false, 
    draggable: false, 
    modal: true, 
    resizable: false, 
    height: 'auto', 
    width: 'auto', 
    title: 'Configure Options', 
    show: 'fade', 
    hide: 'fade', 
    buttons: { 
     'Update': function(){    
     $(this).dialog('close'); 
     } 
    }, 
    **close: function(event, ui){ 
     $('#the-form-name').append($(this)); 
    }** 
}; 

// open windows 
$("#inputButton").click(function() { 
    var dlg = $('.group_input').dialog(options); 
    dlg.css('min-width', '500px').css('max-height', '300px'); 
    dlg.dialog('open'); 
}); 

Ich hoffe, das hilft jemandem mit dem gleichen Problem stecken!