Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Passage d'un champ d'un formulaire sans submit

15 réponses
Avatar
OAM
Bonjour,

Est-il possible de passer la valeur d'un champ d'un formulaire à une
variable php sans utiliser submit qui a l'inconvéniant de recharger la page
?

Le seul moyen que j'imagine est via la techo AJAX est-ce que je me trompe ?

Merci d'avance pour votre réponse.

Olivier.

10 réponses

1 2
Avatar
ASM
Bonjour,


Bonjour,

Est-il possible de passer la valeur d'un champ d'un formulaire à une
variable php sans utiliser submit qui a l'inconvéniant de recharger la page
?


Le php étant "serveur side" il faut bien envoyer l'info au serveur
Sinon ... je ne vois pas comment le php pourrait la traiter

Donc : methode usuelle -> submit

Le seul moyen que j'imagine est via la techo AJAX est-ce que je me trompe ?


à mon idée : non

Merci d'avance pour votre réponse.


Mais si c'est pour finalement utiliser du JavaScript, ne peut-il se
débrouiller seul ?
(fonction JS de traitement de la dite valeur si elle ne fait pas 300 lignes)

--
Stephane Moriaux et son [moins] vieux Mac

Avatar
pierre
Avec AJAX pas de problème

http://www.editeurjavascript.com/trucs/35,ajax_interrogez_votre_serveur_avec_javascript.php

"OAM" a écrit dans le message de
news:ecep9p$eb9$
Bonjour,

Est-il possible de passer la valeur d'un champ d'un formulaire à une
variable php sans utiliser submit qui a l'inconvéniant de recharger la
page

?

Le seul moyen que j'imagine est via la techo AJAX est-ce que je me trompe
?


Merci d'avance pour votre réponse.

Olivier.




Avatar
OAM
Avec AJAX pas de problème


Ajax semble donc être la (seule) solution si on ne veut pas utiliser de
submit mais dans mon appli elle me pose un gros problème que je n'arrive pas
à solutionner.
Je m'explique en donnant une analogie à mon pb.

Dans cet exemple je veux renseigner les caractéristiques d'un parc
automobile.
En premier lieu, je demande à l'utilisateur le nombre de voitures du parc.
En fonction de ce nombre je vais créer autant de fiches (dans mon cas sous
forme d'onglets) à renseigner.
Le but de ce dispositif étant de faire une saisie globale du parc sans
valider chaque fiche (voiture).
Dans chaque onglet créé, je charge via AJAX mes différents champs à
renseigner en appelant une page contenant ces champs bien évidemment indexés
en fonction de l'onglet traité.

Le GROS problème c'est que lorsque je poste le formulaire, je ne reçois que
les champs de l'onglet actif et non pas de tout les onglets.
Cela est logique puisque AJAX remplace un contenu par un autre contenu dans
le code HTML et comme le formulaire posté ne prend en compte que le code de
la page en cours je me trouve devant un problème !
Et je n'arrive pas a m'en sortir alors si quelqu'un à une idée... elle est
la bien venue

Olivier.

Avatar
Bipède
OAM wrote:
Bonjour,

Est-il possible de passer la valeur d'un champ d'un formulaire à une
variable php sans utiliser submit qui a l'inconvéniant de recharger la page
?

Le seul moyen que j'imagine est via la techo AJAX est-ce que je me trompe ?

Merci d'avance pour votre réponse.

Olivier.


Il y a une reponse HTTP (204 No Content) qui permet de soumettre une
valeur sans recharger la page. Cette réponse envoyée par le serveur
indique qu'il a bien effectué la tache mais qu'il n'est pas nécessaire
de réactualiser le contenu (voir RFC2616). Le navigateur garde donc la
page en cours intacte aprés le submit.

Donc pas besoin de Javascript en générale et d'AJAX en particulier.

Avatar
ASM

Dans cet exemple je veux renseigner les caractéristiques d'un parc
automobile.
En premier lieu, je demande à l'utilisateur le nombre de voitures du parc.
En fonction de ce nombre je vais créer autant de fiches (dans mon cas sous
forme d'onglets) à renseigner.
Le but de ce dispositif étant de faire une saisie globale du parc sans
valider chaque fiche (voiture).
Dans chaque onglet créé, je charge via AJAX mes différents champs à
renseigner en appelant une page contenant ces champs bien évidemment indexés
en fonction de l'onglet traité.


et en faisant directement autant de cloneNode de l'onglet de référence
que de voitures ?

Le GROS problème c'est que lorsque je poste le formulaire, je ne reçois que
les champs de l'onglet actif et non pas de tout les onglets.


Faudrait donc tout simplement tous les activer à l'envoi.
(pas trop compris ce que veut dire 'activé' ... cachés ? undisplayed ? )

Cela est logique puisque AJAX remplace un contenu par un autre contenu dans
le code HTML et comme le formulaire posté ne prend en compte que le code de
la page en cours je me trouve devant un problème !
Et je n'arrive pas a m'en sortir alors si quelqu'un à une idée... elle est
la bien venue


Mettre les éléments clonnés ou AjaXés *dans* le form devrait aider, non?
Avoir aussi un php qui s'y retrouve dans ce form elastique ?

--
Stephane Moriaux et son [moins] vieux Mac

Avatar
Patrick Mevzek
Il y a une reponse HTTP (204 No Content) qui permet de soumettre une
valeur sans recharger la page. Cette réponse envoyée par le serveur
indique qu'il a bien effectué la tache mais qu'il n'est pas nécessaire
de réactualiser le contenu (voir RFC2616). Le navigateur garde donc la
page en cours intacte aprés le submit.


Est-ce que c'est bien le cas en pratique avec les navigateurs actuels ?

Il y a quelques années, quand j'avais essayé, ca ne fonctionnait pas
comme le RFC le disait.

--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
<http://www.dotandco.net/ressources/icann_registrars/details/index>

Avatar
ASM

Dans chaque onglet créé, je charge via AJAX mes différents champs à
renseigner en appelant une page contenant ces champs bien évidemment
indexés en fonction de l'onglet traité.


et en faisant directement autant de cloneNode de l'onglet de référence
que de voitures ?


Ainsi pas besoin de savoir le nbre de voitures à l'avance
on fait afficher une fiche neuve pour chaque voiture
http://stephane.moriaux.perso.orange.fr/truc/inventaire

Le GROS problème c'est que lorsque je poste le formulaire, je ne
reçois que les champs de l'onglet actif et non pas de tout les onglets.



J'ai essayé avec le moteur php de Orange-pages-perso : tous les champs
sont envoyés
Tester la démo ci-dessus ?

puisque AJAX remplace un contenu par un autre contenu
dans le code HTML et comme le formulaire posté ne prend en compte que
le code de la page en cours je me trouve devant un problème !



Pas encore essayé cette démo avec du Mr Propre mais ça m'étonne.

J'ai ici, dans un de mes bricolages, un formulaire (Orange-pages-perso)
chargé dans un [object] par XMLHttpRequest :
http://stephane.moriaux.perso.orange.fr/truc/hrequ/
- cliquer le menu pour l'avoir en mode JS
- cliquer le menu "réagir" pour requester le formulaire
Au submit : pas d'lézard (bien que chargé via JS) je reçois les infos

--
Stephane Moriaux et son [moins] vieux Mac


Avatar
OAM
Il y a une reponse HTTP (204 No Content) qui permet de soumettre une
valeur sans recharger la page. Cette réponse envoyée par le serveur
indique qu'il a bien effectué la tache mais qu'il n'est pas nécessaire de
réactualiser le contenu (voir RFC2616). Le navigateur garde donc la page
en cours intacte aprés le submit.

Donc pas besoin de Javascript en générale et d'AJAX en particulier.


Aurais-tu un exemple fonctionnel de cette utilisation du code HTTP 204 ?

Avatar
OAM
Ainsi pas besoin de savoir le nbre de voitures à l'avance
on fait afficher une fiche neuve pour chaque voiture
http://stephane.moriaux.perso.orange.fr/truc/inventaire


Merci pour cet exemple intéressant que je vais regarder de plus près.


J'ai ici, dans un de mes bricolages, un formulaire (Orange-pages-perso)
chargé dans un [object] par XMLHttpRequest :
http://stephane.moriaux.perso.orange.fr/truc/hrequ/
- cliquer le menu pour l'avoir en mode JS
- cliquer le menu "réagir" pour requester le formulaire
Au submit : pas d'lézard (bien que chargé via JS) je reçois les infos


Cette exemple fonctionne mal et je n'arrive pas à en comprendre la logique.
Le menu s'affiche mal et bcp d'erreurs apparaissent lorsqu'on essaye de
cliquer sur les différents éléments du menu.

Avatar
ASM
http://stephane.moriaux.perso.orange.fr/truc/hrequ/
- cliquer le menu pour l'avoir en mode JS
- cliquer le menu "réagir" pour requester le formulaire
Au submit : pas d'lézard (bien que chargé via JS) je reçois les infos


Cette exemple fonctionne mal et je n'arrive pas à en comprendre la logique.
Le menu s'affiche mal et bcp d'erreurs apparaissent lorsqu'on essaye de
cliquer sur les différents éléments du menu.


Chez moi, et comme je sais comment ça devrait fonctionner, je n'ai pas
de pb :-)
Ce truc-muche était un machin en test, tout spécialement pour cette
histoire de formulaire rapatrié par JS et dont réponse à obtenir dans le
même object.
Je n'ai pas eu de commentaire négatif de la part de mon béta-testeur
quant au menu, ni quant à l'object(*) non rempli/complété.
Certains de ces formulaires peuvent moins bien ou ne pas fonctionner (ce
sont des essais)

Sous *FireFox* ça a l'air de fonctionner
on a normalement à gauche un menu avec : HTML < > JS
on y clique pour obtenir alternativement le menu en :
- JavaScript (qui appellera les XMLHttpRequest)
- HTML (donc sans JS)
afin de voir la différence entre l'inclusion via JS ou le re-chargement
complet via HTML lors d'un clic sur l'un des sujets proposés.

Quand on est en mode JavaScript
cliquer le menu : [ intro A ]
qui donne accès lui aussi à un formulaire qui a eu l'air de fonctionner
chez moi.

Mais si ça cafouille ... bon tant pis.

--
Stephane Moriaux et son [moins] vieux Mac


1 2