[spip-dev] CVT et sortir d'ajax

Lorsqu'on signe sa deuxième pétition, l'ajax qui boucle sur le
formulaire ne suffit pas : il faudrait aussi pouvoir recharger les
signatures, par exemple en sortant du mode ajax pour recharger toute
la page. Est-ce qu'on peut faire ça en CVT ? En attendant j'ai mis un
message un peu lamentable dans la réponse ("Veuillez recharger cette
page dans quelques instants").

-- Fil

oui dans traiter tu renvoie
echo 'patientez un instant'.redirige_formulaire(url);
qui fera un redirige par en tete si pas ajax et un redirige js si ajax

oui dans traiter tu renvoie
echo 'patientez un instant'.redirige_formulaire(url);
qui fera un redirige par en tete si pas ajax et un redirige js si ajax

oui mais avec cette redirection je perds mon message qui dit "votre
signature a bien été enregistrée"...

-- Fil

echo 'patientez un instant'.redirige_formulaire(url);
qui fera un redirige par en tete si pas ajax et un redirige js si ajax

oui mais avec cette redirection je perds mon message qui dit "votre
signature a bien été enregistrée"...

Tiens au passage c'est marrant... quand je mets l'ancre, FF ne
recharge pas la page mais se contente de se repositionner sur l'ancre
:

    return
      _T('form_pet_signature_validee')
      .redirige_formulaire(self().'#sp'.$id_article);

Je crois que je vais être obligé de mettre un parametre
&var_signature_ok=$id_article dans l'url, ce qui ne me plait guère sur
le fond

-- Fil

Je crois que je vais être obligé de mettre un parametre
&var_signature_ok=$id_article dans l'url, ce qui ne me plait guère sur
le fond

Tiens on dirait qu'il est impossible de passer message_ok depuis
"charger" ? C'est ennuyeux.

-- Fil

bouh que c'est pas beau
si on commence à remelanger les fonctions ça va vite redevenir incompréhensible comme les vieilles balises_dyn qui faisaient tout et n'importe quoi.
charger() c'est pour charger les valeurs par defaut.
Dans ton cas, le mieux serait de desactiver l'ajax lorsque le visiteur est deja connu et que tu sais que la signature se fera en une seule étape.

Sinon, il faudrait une fonction générique rejouer_formulaire_sans_ajax() que l'on puisse appeler au début de traiter() si besoin.
Mais je ne sais pas comment l'implémenter : elle devrait renvoyer une redirection js vers la meme page sans le var_ajax, mais tout en get au lieu de post, c'est pas beau

Sinon, peut etre en renvoyant en ajax toute la page, et que le js remplace tout le body si le contenu qui arrive a un body ?

Cédric

bouh que c'est pas beau
si on commence à remelanger les fonctions ça va vite redevenir incompréhensible comme les vieilles balises_dyn qui faisaient tout et n'importe quoi.

Elles faisaient tout, oui, mais pas n'importe quoi.

Mais je ne sais pas comment l'implémenter

Comme quoi c'est pas simple, et je n'arrive d'ailleurs pas à comprendre le fond du problème.

Dans ces cas là, il n'y a qu'une seule méthode pour trouver une solution: rédiger la doc qui explique comment ça marche et pourquoi on ne peut pas faire telle chose. En décrivant soigneusement le point de blocage, on finit par trouver la brèche pour le faire sauter.

Committo,Ergo:Sum

oui, j'ai commencé hier soir l'article général de présentation
http://www.spip.net/ecrire/?exec=articles&id_article=3800

la suite va arriver (la doc détaillée fonction par fonction)
Cédric