Drupal 7 effet avec les jquery.ui.dialog sur Drupal 6 !
Submitted by Sir Squall on Thu, 02/25/2010 - 11:20
Dans l'idée sa a pas l'aire très compliquer, on se dit qu'il suffit de faire un form, et d'en faire un autre que je vais afficher avec jquery dialog, seul petit problème c'est qu'avec cette methode on se retrouve avec des form imbriqué les un dans les autres, ce qui fait que sa marche pas...
Après plusieur test, j'ai trouvé deux methode qui fonctionne, la metode Drupal 7, avec des iframes que je charge avec du jquery et que j'ouvre dans une joli fenetre avec dialog, ou la methode que j'ai choisi avec du jquery.load qui va charger une page et recupérer le formulaire :)!
Mise en place de la deuxième methode, tous a l'aire de bien fonctionner jusqu'au moment ou je post mes valeurs qui du coup ne sont pas retourner vers le bon hook_validate, parcequ'il ne se trouve pas dans la bonne page a cause du jquery.load, alors petite astuce en jquery on peut serialize les valeurs d'un post, alors quand on click sur save on serialize le post et on les renvoies sur la bonne page, et je fait un close de jquery dialog!
js:
//Multiple dialog automated $(function(){ //On all link prepare de dialog box, load form by ajax $('a[id^=link-]').click(function(){ //Add throbber $(this).after('<div id="progress"> </div>'); $('#progress').attr('style', 'background-image: url(' + Drupal.settings.basePath + 'misc/throbber.gif); float:right; background-repeat: no-repeat; background-position: left -20px;').html(' '); //get nid nid = $(this).attr('id').replace(/link-/, ''); //get lid lid = $(this).attr('rel'); //prepare the dialog box $('body').append('<div id="dialog"></div>'); $('#dialog').load(Drupal.settings.basePath +'?q=admin/stt/championnat/resultat/dialog/'+ nid +'/'+ lid +' #championnat-resultat-set-result', function(){ //remove throbber $('#progress').remove(); //show dialog box $('#dialog').dialog({ bgiframe: true, modal: true, position: 'center', draggable: false, resizable: false, width: 985, height: 500, title: 'Feuille de match', close: function(event, ui){$('#dialog').remove();} }); //save value by ajax post and clode the dialog box $('#dialog input[type=submit]').click(function(){ data = $('#dialog form').serialize(); $.post(Drupal.settings.basePath +'?q=admin/stt/championnat/resultat/dialog/'+ nid +'/'+ lid, data, function(){ $('#dialog').dialog('close');}); return false; }); }); }); });
C'est fait !!!







3 reponses to "Drupal 7 effet avec les jquery.ui.dialog sur Drupal 6 !"
1. Salut, Je suis debutant sous
2. Salut, Ouais tu peut
3. merci de corriger les fautes