Menu

[Javascript] récupération données formulaire [Résolu/Fermé]

Messages postés
16
Date d'inscription
mercredi 20 octobre 2010
Statut
Membre
Dernière intervention
19 janvier 2013
- - Dernière réponse : vanzielle
Messages postés
16
Date d'inscription
mercredi 20 octobre 2010
Statut
Membre
Dernière intervention
19 janvier 2013
- 20 janv. 2012 à 18:28
Bonjour,

J'aimerais savoir s'il est possible de récupérer des données envoyer par un formulaire en méthode post uniquement grâce au javascript, et si oui comment. J'en suis à plus d'une centaine de tuto/forum sur internet en français/anglais et je ne trouve pas de solution.
Pour vous représenter rapidement ce qu'il se passe:

A.html => envoie de formulaire.
B.html => réception du formulaire.

Vous noterez que mes pages sont en .html donc l'utilisation de php est proscrit.

Mes pages ne peuvent pas être en .php c'est une des contrainte dont je dispose du à un CMS et au faite que je doit intégrer mon système sur un site existant dont toute les pages sont en .html.

Merci pour votre aide,
Cordialement,

Vanzielle
Afficher la suite 

4 réponses

Messages postés
6120
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
20 novembre 2018
667
Messages postés
5374
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
863
0
Merci
pour passer des valeurs de la fenêtre vers une fenêtre popup (exclusivement) voila un exemple:

ne marche pas avec le bouton en type submit

<html>
			<!--  Page A.html -->
<head>
<script type="text/javascript">
	//ce javascript doit être dans le head de la page A
	function ouvrir_fenetre(url){
		window.open(url,"page_B.html","menubar=yes, status=yes, scrollbars=yes, menubar=yes, width=500, height=500");
	
	}

</script>
</head>			
<form name="form1" method="post" action="">
Nom: <input type="text" name="nom" id="nom" value="" /><br /><br />
Prenom: <input type="text" name="prenom" id="prenom" value="" /><br /><br />
 <input type="button" name="envoyer" id="envoyer" value="Envoyer" onclick="ouvrir_fenetre('B.html');"/>
</form>

</html>


<html>
						<!--  Page B.html -->
<head>
<script type="text/javascript">
	//ce javascript doit être dans le head de la page B
	//fonction lecture page A et ecriture page B
	function lit_ecrit(){
		//1 ier champ
		var champ_A1=readValueFromParent('nom'); //lecture dans la page appelante A
		document.getElementById('nom_recu').value=champ_A1;
		
		//2 ième champ
		var champ_A2=readValueFromParent('prenom'); //lecture dans la page appelante A
		document.getElementById('prenom_recu').value=champ_A2;
	
	}
	//fonction recup valeurs depuis fenêtre apelante
	function readValueFromParent(id1){
		var valeur=window.opener.document.getElementById(id1).value;
		return valeur;
	}

</script>
</head>
Valeurs reçues du formulaire page A:<br /><br />
<form name="form1" method="post" action="B.html">
Nom: <input type="text" name="nom_recu" id="nom_recu" value="" /><br /><br />
Prenom: <input type="text" name="prenom_recu" id="prenom_recu" value="" />
</form>

<script type="text/javascript">
// cette partie de javascript doit être après le formulaire !
lit_ecrit(); //on lance la fonction
</script>
</html>
Messages postés
16
Date d'inscription
mercredi 20 octobre 2010
Statut
Membre
Dernière intervention
19 janvier 2013
1
0
Merci
Bonsoir,

@Alain_42:
Merci pour ta réponse, le probleme est le suivant: mon formulaire d'envoi se situe dans un slideshow et il représente une news dont le liens doit amener sur la page de news avec l'affichage de la news en particulier. Si plusierus news sont inscrite dans le code du slideshow j'ai plusierus fois le meme formulaire mais dont un input en type hidden contient l'adresse de la news à afficher (donc differente pour chaque formulaire). Le problème vis à vis de ta solution est la nécéssié d'avoir l'information afficher dans la meme fenetre. Je ne peut donc pas passer par une fenetre Popup. Cependant, je garde ta solution des fois que mon employeur serait finallement d'accord pour avoir un popup.

@AssassinTourist:
Je n'ai jamais fait d'Ajax (il y a un début à tout :p). J'ai rapidement parcouru le liens que tu m'as donnée. Cela semble intéressant, néanmoins, j'ai l'impressions que cela nécéssite un ajout d'information dans l'URL. Je regarderais cela plus en profondeur dès lundi soir.

Je ne peut actuellement pas faire de test car je ne suis plus au boulot et je n'ais donc pas accées aux fichiers depuis chez moi. Je ferais donc des essais mercredi prochain (je suis étudiant en alternance avec des partielles Lundi je n'aurais donc pas le temps de plancher sur le probleme se weekend).

Encore merci pour votre aide, je commence à y voir plus clair et avoir de nouvelle piste de solution.
Je vous souhaite un bon weekend et à la semaine prochaine en éspèrant que cela sera vite résolu.

Cordialement,
Vanzielle.

EDIT: Correction apporté à ma réponse pour Alain_42.
Messages postés
16
Date d'inscription
mercredi 20 octobre 2010
Statut
Membre
Dernière intervention
19 janvier 2013
1
-1
Merci
Merci pour ta réponse AssassinTourist,

Cependant, cela semble ne pas fonctionner. Mon alert ne fonctionne pas, donc j'ai un souci au moment de la récupération à la ligne du dessus.
Voici l page dans laquelle je dois récupérer mon élément:

<script language="Javascript">   
  var new_url = document.forms['form_slideshow'].new_frame_url.value;   
 alert(new_url);   
 window.frame['frame_actu'].src=new_url;   
</script>   

<table cellpadding="0" cellspacing="0" width="100%">   
 <tr>   
     <td>   

        </td>   
    </tr>   
    <tr>   
     <td valign="top" style="font-family:Arial, Helvetica, sans-serif; font-size:12px;">   
           
        <iframe src="http://www.monsite.fr/monsite.php" width="550px" height="1000px" frameborder="0" scrolling="no" name="frame_actu">   
        </iframe>   

        </td>   
    </tr>   
</table>   


EDIT: Je ne sais pas si cela peut changer quelque chose, l'information envoyer est en type="hidden".
AssassinTourist
Messages postés
6120
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
20 novembre 2018
667 -
Le lien que je t'ai fourni supposait que tu avais un formulaire dans ton document. Dans ce que tu m'as donné, je ne vois pas de <form ...>
vanzielle
Messages postés
16
Date d'inscription
mercredi 20 octobre 2010
Statut
Membre
Dernière intervention
19 janvier 2013
1 -
Oui le formulaire est dans une autre page. (j'ai un changement de page entre temps)
AssassinTourist
Messages postés
6120
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
20 novembre 2018
667 -
Ah, alors le script javascript est à mettre dans la page où il y a le formulaire. C'est un script d'envoi de formulaire. Je ne sais pas tout à fait comment récupérer les valeurs par la suite...

Peut-être y a-t-il une idée par ici : http://www.trucsweb.com/javascript/trucs.asp?no=303&type=5 avec la méthode search de js.
vanzielle
Messages postés
16
Date d'inscription
mercredi 20 octobre 2010
Statut
Membre
Dernière intervention
19 janvier 2013
1 -
Merci pour le lien, effectivement cette méthode fonctionne bien. Malheureusement je n'ai pas le droit d'envoyer les infos en GET à cause de la réécriture d'URL du site. Je suis donc contraint de passer par la méthode POST. (J'ai interdiction de touche à l'URL du site)
Il y a quand même une chose qui m'étonne, logiquement les informations reçut par méthode POST sont dans le DOM. Hors, le DOM n'est ni plus ni moins que un document type XML qui peut être parser. Donc en toute logique je devrai pouvoir le lire en local (de la même manière que le navigateur) et en récupérer les informations dont j'ai besoin. Mais je ne trouve rien ou presque (information peu clair et incompréhensible) à se sujet...
AssassinTourist
Messages postés
6120
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
20 novembre 2018
667 -
D'après cette discussion, http://www.commentcamarche.net/forum/oldest/2990376-comment-recuperer-les-variables-post
POST envoie les donnees sur le serveur (ServerSide)
Javascript c'est coté Navigateur (clientSide)

Il y a plus ou moins la même fonction, mais avec Ajax :
http://www.commentcamarche.net/faq/18745-utilisation-de-l-objet-xmlhttprequest#simili
Il y a un exemple avec POST