Salut,
Dans un de mes applications developpé sous Yii, je suis en train d'ajouter l'option suivante :
Ouvrir un popup dans une vue qui propose la selection d'une année.
Une fois l'année selectionné il y a soumission par un Ajax Submit Button, qui envoie la requete à une action du controleur.
Cette action genere un fichier Excel, mais vue qu'on marche avec Ajax j'ai les data du fichier xls généré dans la réponse de la requete.
Alors j'ai vue sur pas mal de post qu'il est possible de générer le fichier grace aux datas retournés en utilisant un form caché qui est soumis automatiquement.
Mon problème c'est la syntaxe jquery car l'imbrication du code jquery fait que après avoir commencé à utiliser des " et des ' je ne sais plus quoi utiliser pour delimiter certains bout de texte.
Concretement ça donne (j'ai mis des ??? là où je ne pouvait plus utiliser des " et des ') :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <?php echo CHtml::ajaxSubmitButton('Form Ajax Submit Button', CHtml::normalizeUrl(array('/planning/xlsAbsences')), array( 'type'=>'POST', 'beforeSend' => "function(request) { console.log('beforeSend'); }", 'data'=>'js:$("#select-year-form").serialize()+"&year="+$("#dropDownId :selected").text()', 'success'=>'function(response, status, request){ $("#mydialog").dialog("close"); var disp = request.getResponseHeader("Content-Disposition"); if (disp && disp.search("attachment") != -1) { var form = $("<form method=???POST??? action=???index.php?r=planning/test???>"); $.each(params, function(k, v) { form.append($("<input type=???hidden??? name=???" + k + "??? value=???" + v + "???>")); }); $("body").append(form); form.submit(); } }', 'complete' => "function(request) { console.log('complete'); }", 'error' => "function(data) { alert('erro'+data); }", ), array('name' => 'run', 'class' => 'btn btn-success') ); ?>
Est ce que quelqu'un pourrait m'aider comment résoudre ce problème qui me bloque dans l’avancement ?







Répondre avec citation





Partager