Problème pour imbriquer Ajax dans un form
coeus
Messages postés
3296
Statut
Membre
-
Gremy87 Messages postés 360 Statut Membre -
Gremy87 Messages postés 360 Statut Membre -
Bonjour,
La question va peut-être paraître banale, mais ça fait longtemps que je suis là-dessus (ou sur des variations sur le thème) et je commence à avoir le cerveau en compote...
Alors voici : J'ai un formulaire sur une page PHP, qui ressemble à la structure suivante :
Le {AJAX} représente une partie du formulaire, avec plein de boîtes de texte et de cases à cocher, mais dont les éléments ont besoin d'interagir dynamiquement, raison pour laquelle je les ai mis en Ajax.
Le problème, c'est que mon contenu Ajax est assez limité.
Par exemple, j'aurais besoin dans un cas précis que quand l'utilisateur rentre un nombre dans un textbox, tous les texboxes de la même série s'incrémentent à partir de ce nombre. Mais comme mon contenu {AJAX} n'est pas une <form>, je ne peux pas faire une instruction sur la textbox genre : onkeyup="submit();" ; ça n'envoie aucune info.
Également, étant à l'intérieur d'un <form> déjà, je ne peux pas, sur ma page {AJAX}, mettre une balise <script> contenant du Javascript ; ce code ne sera jamais appelé convenablement. En ce moment,. je suis obligé d'appeler mon Javascript de ma page index, dans laquelle est contenu le formulaire ; mais ça pose problème si la portion {AJAX} doit s'envoyer de l'information à elle-même, dans ce cas je dois utiliser des Cookies, mais ils sont très instables...
Alors ma question serait : quelqu'un aurait-il une idée pour arriver à une de deux choses :
- Soit avoir une sorte de <form> dans un <form>, qui servirait exclusivement à recharger la portion {AJAX} du formulaire global ; ou
- Toute autre solution pour que ma page Ajax puisse s'envoyer à elle-même de l'information qui n'a aucune incidence sur le reste du formulaire. Je veux que la portion {AJAX} se recharge presque à chaque fois qu'il y a la moindre modification dans son contenu, mais sans toucher au reste de la page.
J'espère avoir été assez clair, c'est un problème difficile à énoncer sans visuel ni rien... Mais merci infiniment à quiconque aura la patience de m'aider ! Je suis preneur de toute suggestion, même les incertaines ; la vérité pourrait jaillir d'une niaiserie !!! ;-)
Merci encore et bonne soirée !
La question va peut-être paraître banale, mais ça fait longtemps que je suis là-dessus (ou sur des variations sur le thème) et je commence à avoir le cerveau en compote...
Alors voici : J'ai un formulaire sur une page PHP, qui ressemble à la structure suivante :
<form>
<fieldset>{Contenu quelconque}</fieldset>
<fieldset>{Contenu quelconque}</fieldset>
<fieldset>{AJAX}</fieldset>
<fieldset>{Contenu quelconque}</fieldset>
<fieldset>{Contenu quelconque}</fieldset>
<submit>
</form>
Le {AJAX} représente une partie du formulaire, avec plein de boîtes de texte et de cases à cocher, mais dont les éléments ont besoin d'interagir dynamiquement, raison pour laquelle je les ai mis en Ajax.
Le problème, c'est que mon contenu Ajax est assez limité.
Par exemple, j'aurais besoin dans un cas précis que quand l'utilisateur rentre un nombre dans un textbox, tous les texboxes de la même série s'incrémentent à partir de ce nombre. Mais comme mon contenu {AJAX} n'est pas une <form>, je ne peux pas faire une instruction sur la textbox genre : onkeyup="submit();" ; ça n'envoie aucune info.
Également, étant à l'intérieur d'un <form> déjà, je ne peux pas, sur ma page {AJAX}, mettre une balise <script> contenant du Javascript ; ce code ne sera jamais appelé convenablement. En ce moment,. je suis obligé d'appeler mon Javascript de ma page index, dans laquelle est contenu le formulaire ; mais ça pose problème si la portion {AJAX} doit s'envoyer de l'information à elle-même, dans ce cas je dois utiliser des Cookies, mais ils sont très instables...
Alors ma question serait : quelqu'un aurait-il une idée pour arriver à une de deux choses :
- Soit avoir une sorte de <form> dans un <form>, qui servirait exclusivement à recharger la portion {AJAX} du formulaire global ; ou
- Toute autre solution pour que ma page Ajax puisse s'envoyer à elle-même de l'information qui n'a aucune incidence sur le reste du formulaire. Je veux que la portion {AJAX} se recharge presque à chaque fois qu'il y a la moindre modification dans son contenu, mais sans toucher au reste de la page.
J'espère avoir été assez clair, c'est un problème difficile à énoncer sans visuel ni rien... Mais merci infiniment à quiconque aura la patience de m'aider ! Je suis preneur de toute suggestion, même les incertaines ; la vérité pourrait jaillir d'une niaiserie !!! ;-)
Merci encore et bonne soirée !
A voir également:
- Problème pour imbriquer Ajax dans un form
- Dans la table des matières du document à télécharger, le chapitre 6 et ses 2 sections n'apparaissent pas. trouvez l'erreur dans la structure du document et corrigez-la. mettez à jour la table des matières. quel est le mot formé par les lettres en majuscules de la table des matières après sa mise à jour ? - Forum Word
- Google form sans compte google - Forum Webmastering
- Robot form - Télécharger - Divers Web & Internet
- Faire un trou dans une forme illustrator ✓ - Forum Illustrator
- Blueberry pdf form filler - Télécharger - PDF
2 réponses
Salut,
l'ajax sert à dialoguer avec ton serveur sans rechargement de page.
Or, d'après ce que tu dis et ce que j'ai compris, le serveur n'intervient jamais.
Tu peux donc tout faire uniquement en javascript.
l'ajax sert à dialoguer avec ton serveur sans rechargement de page.
Or, d'après ce que tu dis et ce que j'ai compris, le serveur n'intervient jamais.
Tu peux donc tout faire uniquement en javascript.
Bonjour,
euh waou... j'ai rarement vu tant d'explication pour un problème aussi "simple" (en même temps c'est pas plus mal).
"et je commence à avoir le cerveau en compote... " la je crois qu'on est d'accord.
donc je vais prendre l'exemple que tu donnes:
3 inputs, tu saisis un nombre dans le 1er, ca incrémente les 2 autres de facon a a voir par exemple (1,2,3) ou (5,6,7), etc
AJAX n'intervient en aucun cas dans ce genre de code. l'AJAX permet d'interagir avec un serveur (en général pour une requête BDD).
voila ;)
RISE OF THE GEEK IS COMMING SOON!!! BWAHAHAHAHA
euh waou... j'ai rarement vu tant d'explication pour un problème aussi "simple" (en même temps c'est pas plus mal).
"et je commence à avoir le cerveau en compote... " la je crois qu'on est d'accord.
donc je vais prendre l'exemple que tu donnes:
3 inputs, tu saisis un nombre dans le 1er, ca incrémente les 2 autres de facon a a voir par exemple (1,2,3) ou (5,6,7), etc
<html>
<head>
<script language="javascript">
function incremente(valeur)
{
if(valeur!="" && valeur!=null)
{
valeur=parseInt(valeur);
document.getElementById('inp2').value=(valeur+1);
document.getElementById('inp3').value=(valeur+2);
}
else
{
document.getElementById('inp2').value="";
document.getElementById('inp3').value="";
}
}
</script>
<head>
<body>
<input type="texte" id="inp1" onKeyUp="incremente(this.value)"/>
<input type="texte" id="inp2"/>
<input type="texte" id="inp3"/>
</body>
</html>
AJAX n'intervient en aucun cas dans ce genre de code. l'AJAX permet d'interagir avec un serveur (en général pour une requête BDD).
voila ;)
RISE OF THE GEEK IS COMMING SOON!!! BWAHAHAHAHA