11548 sujets

JavaScript, DOM et API Web HTML5

Salut à tous,
voila, c'est juste une peite question surement stupide, mais je me demandait si on pouvait envoyer des infos en POST autrement qu'avec les objets de formulaires traditionnels.
J'ai constaté qu'avec le DOM je pouvais donner l'attribut value à des balise qui normalement ne l'on pas, mais je ne récupére pas la valeur en soumettant le formulaire.

L'interet dans mon cas, c'est de pouvoir transmettre des données de javascript à PHP, mais éviter les champs hidden.

Si quelqu'un à déja réussi ça (j'avoue, c'est tordu...), merci d'avance
Modifié par coccimaster (02 Aug 2006 - 09:13)
Je viens de relire ce monument de clarté qu'est ma question précédente donc je vais tenter de faire plus clair : Avec le dom; je génére un tableau grace aux valeurs de mes champs de formulaires. Quand l'utilisateur à rentré toutes ces valeurs, il le soumet et hop,hop traiotement en php.

Donc actuellemnt j'ai ça

//~~~~~Dans la boucle pour parcourir mon tableau~~~~~~//
                     ...
                     ...
                     ...
	input = document.createElement('input');
	input.setAttribute('value', valeur);
	input.setAttribute('style', 'display: none');
	input.setAttribute('name', 'societeId[]');
	cell[x].appendChild(input);
                    ...
                    ...
                    ...

Et j'aimerai plutot ça

	cell[x].setAttribute('value', valeur);
	input[x].setAttribute('style', 'display: none');
	input[x].setAttribute('name', 'societeId[]');

Le truc, c'est que l'inspecteur DOM me confirme bien que les attributs name et value sont données à la cellule, mais aprés submit, PHP ne voit pas les variables en POST.

Comme je ne sais pas comment les navigateurs rédigent les requetes HTTP pour les formulaires (basés sur le nom des tags ou sur les attributs?), je me demande si ce que j'ai essayé est faisable ou idiot.

REmerci d'avance
salut,

comme ça, à brûle pourpoint, je te dirai de voir du coté de l'objet XMLHttpRequest avec lequel tu peux envoyer des données POST (celles que tu veux), les envoyer vers un fichier coté serveur.

est-ce que ça peut s'appliquer à ton cas?
dunjl a écrit :
salut,

comme ça, à brûle pourpoint, je te dirai de voir du coté de l'objet XMLHttpRequest avec lequel tu peux envoyer des données POST (celles que tu veux), les envoyer vers un fichier coté serveur.

est-ce que ça peut s'appliquer à ton cas?


ps: j'ai mieux compris sur le premier post Smiley cligne
Ca me semble un peu paradoxal ton truc : tu veux envoyer des données sans champs de formulaire.
+1 pour XMLHttpRequest ou alors retourne du côté clair de la force
OK, merci pour les réponses

QuentinC a écrit :
Ca me semble un peu paradoxal ton truc : tu veux envoyer des données sans champs de formulaire.
+1 pour XMLHttpRequest ou alors retourne du côté clair de la force

Justement, ce que je voulais c'était savoir si je pouvais justement me passer de XMLHttpRequest (les données sont traitées via une autre page donc elle est forcément rechargée) pour ce genre de truc et transformer les cellules de ma table afin qu'elle servent à la fois de visualisation et de stockage de donnée.

C'était juste pour éviter des createElement, setAttribute et appendChild autant de fois que le tableau ne compte de case.

Mais bon, c'est pas primordial, je vais garder les hidden, en attendant une hypothétique refonte totale de l'ensemble avec AJAX (ça serait plus propre) Smiley lol

Par contre, si quelqu'un connait deux-trois liens sur la façon dont les navigateurs rédigent leur requétes HTTP aprés soumission d'un formulaire, je refuse pas, j'ai trouvé que les RFC et elle ne parlent pas du mécanisme coté client.

A+
Pour savoir ça, tu peux télécharger l'extension firefox LiveHTTPHeader, comme son nom l'indique elle t'affiche les requêtes HTTP envoyées par le navigateur en temps réel.