[spip-dev] Question sur les formulaires ajax...

Bonjour,

J'aurais besoin d'une explication (je suis sur la branche 2.0.0).

j'ai un formulaire CVT quelconque dont le <form> n'a aucune classe css. Lorsque j'encadre la balise #FORMULAIRE_NOM par <div class="ajax">, ce <form> prend alors une classe 'noajax'...

* Question 1, par quel prodige ?

En validant, l'ajax se lance, mais au retour, une erreur js aparait (de ajaxCallback.js l.55) : jQuery._ACBajax is not a function (return jQuery._ACBajax(type):wink:

* Suis-je le seul à avoir ce problème ? Qu'est-ce que ça veut dire au juste que jQuery.ajax soit undefined ? Juste avant l'erreur, le navigateur fait un GET sur jQuery.js avec un paramètre aléatoire comme pour le recharger, est-ce que ça vient de là et d'un buf avec ff3/ubuntu ?

Je précise qu'en enlevant la div class ajax, le formulaire se comporte comme il faut (j'ai tout de même du ajouter include_spip('base/abstract_sql') dans public/parametrer) ...

J'ai du mal à comprendre pourquoi ce formulaire me pose problème...

Matthieu Marcillaud a écrit :

Lorsque j'encadre la balise #FORMULAIRE_NOM par <div class="ajax">, ce <form> prend alors une classe 'noajax'...

* Question 1, par quel prodige ?

Ca j'ai trouvé, c'est la fonction jQuery.fn.formulaire_dyn_ajax de ajaxCallback qui s'en occupe... et c'est normal.

Pour le reste, plouf... opera se comporte pareil avec ce formulaire... snif !

En validant, l'ajax se lance, mais au retour, une erreur js aparait (de
ajaxCallback.js l.55) : jQuery._ACBajax is not a function (return
jQuery._ACBajax(type):wink:

problème de cache certainement, car
prive/javascript/ajaxCallback.js: jQuery._ACBajax = jQuery.ajax;

à moins qu'il te reste un vieux ajaxCallback dans le path (mise à jour
par ftp ??)

-- Fil

Fil a écrit :

En validant, l'ajax se lance, mais au retour, une erreur js aparait (de
ajaxCallback.js l.55) : jQuery._ACBajax is not a function (return
jQuery._ACBajax(type):wink:

Bon, j'ai trouvé l'origine charnelle de tout cela :
J'avais conditionné des parties de mon formulaire et emprisonné dans la condition par inadvertance la balise #FORMULAIRE_ACTION qui du coup n'était pas présente.

Juste ça... Ca fait des erreurs pas très explicites !

Matthieu Marcillaud a écrit :

En validant, l'ajax se lance, mais au retour, une erreur js aparait (de
ajaxCallback.js l.55) : jQuery._ACBajax is not a function (return
jQuery._ACBajax(type):wink:

Je le reproduis ailleurs, sur un autre formulaire, de SPIP celui là.
Voici un exemple :

<html>
<head>
#INSERT_HEAD
[(#REM) pour le depliement des documents dans le public]
<script type="text/javascript" src="#CHEMIN{javascript/layer.js}"></script>
<script type="text/javascript" src="#CHEMIN{javascript/presentation.js}"></script>
</head>
<body>
<div class="ajax soumettre_documents">
[(#ENV{id_article}|afficher_documents_colonne)]
</div>
</body>
</html>

L'upload de document/image est ok, mais changer un titre d'une image, cela me provoque ce message d'erreur... (dans le public)