Array php (Smarty) vers javascript

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Array php (Smarty) vers javascript

Re: Array php (Smarty) vers javascript

par Aureusms » 17 janv. 2013, 15:01

Ok.
Bon normalement les données envoyées en AJAX sont envoyées par GET ou POST.
Essaye de faire un
var_dump ($_REQUEST);
pour savoir ce que reçois le serveur.

Re: Array php (Smarty) vers javascript

par loc56 » 17 janv. 2013, 12:43

Oui c'est bien de renvoyer au serveur le tableau de dates éventuellement modifiées côté client.
petite précision, la fonction submitIcal est écrite en php et s'appuie sur la librairie xAjax.

Pour ce qui concerne la variable smarty {$calendrier} c'est un tableau et la balise {foreach} permet d'accéder à chacun des éléments
côté client dans le template et actuellement les variables $id et $calendrier sont parfaitement exploitables côté client.
Le souci ne porte que sur la récupération côté serveur du tableau, d'ailleurs la valeur $id est correcte côté serveur.

Alors Ok, c'est bien AJAX mais via xAjax dans mon cas :?

Re: Array php (Smarty) vers javascript

par Aureusms » 17 janv. 2013, 11:37

Hmmm :? Pas trop.
J'ai du mal à comprendre de quel côté tu travailles : côté client ou côté serveur. Je ne connais pas trop Smarty (même pas du tout) mais si je regarde ton code HTML suivant :
<input type="button" value="Envoyer" onClick="xajax_submitIcal($('id').value, {$calendrier} );" />
Tu lui indiques que dès que l'utilisateur clique sur le bouton, javascript lance la fonction xajax_submitIcal qui contient deux paramètres : $('id').value et {$calendrier}. Alors que donne ces deux paramètres côté client ?
Sinon la fonction xajax_submitIcal, à l'état actuel de mes connaissances, est une fonction javascript et donc côté client. J'ai cru comprendre que la fonction que tu m'a donné est une fonction php donc côté serveur. Peut être me trompe-je.
Si tu veux récupérer les paramètres côté client et les renvoyer vers le serveur, une seul salut = > AJAX

Est ce cela que tu cherches à faire ?

Re: Array php (Smarty) vers javascript

par loc56 » 17 janv. 2013, 02:20

Dans la fonction submitIcal() je voudrais balayer le tableau de date $calendrier pour les
insérer dans une table mysql.
function submitiCal($id, $Calendar ) {    

        for( $i=0; $i<sizeof($Calendar);$i++) {               
               $str .= $Calendar[$i]['training'].', ';
        }
   
Le problème, c'est que je ne retrouve pas la structure du tableau et encore moins les données.
Pourtant, si je charge dans un champ texte pour voir ce qui est passé en paramètre, ainsi :
$form->notes = $Calendar;
Voici ce que le champ $form->notes prend comme valeur : function Array() { [native code]}
est-ce plus clair ?
Merci de ta réponse :roll:

Re: Array php (Smarty) vers javascript

par Aureusms » 17 janv. 2013, 00:20

Qu'à tu dans xajax_submitIcal() ?

Array php (Smarty) vers javascript

par loc56 » 16 janv. 2013, 18:37

Hello à tous,
je bloque sur la communication entre un template smarty (.tpl) et une fonction
du script xajax_server.php.

Je souhaite échanger un tableau de dates initialisé dans la fonction getCalendar() du script xajax_server.php:
	$calendrier[0]['line'] = 1;
	$calendrier[0]['training'] = '26/06/2012';
	$calendrier[1]['line'] = 2;
	$calendrier[1]['training'] = '31/07/2012';
j'initialise une variable smarty $ical comme ceci:
$smarty->assign('calendrier', $calendrier);
Dans le template form.tpl je récupère la liste dans une boucle pour modifier les valeurs:
{foreach from=$calendrier item=icalTmp}
    <input name={$icalTmp.line} id={$icalTmp.line} type="text" size="8" value="{$icalTmp.training}"  />&nbsp;
{/foreach}
Je ressort du template avec le bouton Envoyer comme ceci, sans savoir comment passer le tableau modifié comme paramètre:
<input type="button" value="Envoyer" onClick="xajax_submitIcal($('id').value, {$calendrier} );" />
Par quel moyen je peux récupérer le tableau modifié et retourné comme paramètre dans la fonction submitIcal du script xajax_server.php ?

En espérant que quelqu'un pourra m'aider,
Merci d'avance pour votre temps précieux :wink: