Transimission données via formulaire

-
Jonjour,
J'ai un problème en JavaScript.
Par exemple, en PHP :

<form method="POST" action="" >
 <input type="submit" name="bouton" value="Valider" />
</form>

<?php 
 $envoi=!empty($_POST['envoi'])?$_POST['envoi']:NULL;
 if($envoi){
  echo '<form method="POST" action="" >
   <label for="choix">
    Choix 1 
    <input type="radio" name="choix" value="Livre" id="Valider" />
   </label>
   <label for="choix">
    Choix 2 
    <input type="radio" name="choix" value="Cahier" id="Valider" />
   </label>
   <label for="choix">
    Choix 3 
    <input type="radio" name="choix" value="Sac" id="Valider" />
   </label>
  </form>';
 }
 else{echo '';} 

$choix=!empty($_POST['choix'])?$_POST['choix']:NULL;
 echo $choix;
?>

Ma question : Comment puis-je transcrire ce script PHP en JavaScript ?
Voici l'essai que j'ai fait :

<form method="POST" action="" >
 <input type="submit" name="bouton" value="Valider" />
</form>

<script>

// Avec ce code ci-dessous, j'arrive à recueillir la valeur du choix qui a été fait.

function check() {
 var inputs = document.getElementsByTagName('input'), inputsLength = inputs.length;
  for (var i = 0 ; i < inputsLength ; i++) {
   if (inputs[i].name == 'choix' && inputs[i].checked) {
    alert(inputs[i].value);
  }
 }
}

</script>

Dans l'application que je veux créer, il va y avoir sur une seule page, des dixaine de <input type="radio" />
Et tous ces <input type="radio" /> ne vont pas s'aaficher tous d'un coup.
J'ai disposé plusieurs bouton. Et je veux que chaque bouton déclenche un nombre donné de <input type="radio" /> spécifié.

Comme en PHP, il suffit d'appuyer sur un bouton pour les reccueillir avec $_POST['choix'] ou $_GET['choix'].

Aidez-moi à transcrire ce code en JavaScript.

EDIT : Ajout des balises de code

Afficher la suite 

Votre réponse

2 réponses

Messages postés
23610
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 décembre 2018
0
Merci
Bonjour,

Je ne comprend pas ta question.
Tu dis :
J'ai disposé plusieurs bouton. Et je veux que chaque bouton déclenche un nombre donné de <input type="radio" /> spécifié.

Que signigie "déclencher" pour toi ??
Tu veux dire CREER ?
ou .. AFFICHER ??
Peux tu être plus précis ?

Commenter la réponse de jordane45
0
Merci
Merci Jordane45,

Je voulais dire que : J'ai par exemple 10 boutons et derrière ces 10 bouton, il y a un formulaire à lui afficher.
Exemple :
Bouton Commander : va afficher au clic, un formulaire qui lui est propre. Et dans ce formulaire, je veux seulement disposer des balises de type input radio. Et à la fin des choix de l'utilisateur, je vais lui afficher une somme des résultats qu'il a envoyé par le formulaire du bouton Commander.
Et de même pour tous les autres boutons.

Par exemple, en PHP :
<form method="POST" action="" >
 <input type="submit" name="bouton" value="Valider" />
</form>

<?php 
 $envoi=!empty($_POST['envoi'])?$_POST['envoi']:NULL;
 if($envoi){
  echo '<form method="POST" action="" >
   <label for="choix">
    Choix 1 
    <input type="radio" name="choix" value="Livre" id="Valider" />
   </label>
   <label for="choix">
    Choix 2 
    <input type="radio" name="choix" value="Cahier" id="Valider" />
   </label>
   <label for="choix">
    Choix 3 
    <input type="radio" name="choix" value="Sac" id="Valider" />
   </label>
  </form>';
 }
 else{echo '';} 

$choix=!empty($_POST['choix'])?$_POST['choix']:NULL;
 echo $choix;
?>



Mais en JavaScript, on utilise pas les variables globales POST et GET. Quelle méthode je peux utiliser pour recevoir le bouton que l'utilisateur à cliquer et lui afficher son formulaire. Mon problème se situe au niveau de OnClick, recevoir et afficher le formulaire du bouton choisi.

Merci

EDIT : Ajout des balises de code

nagaD.scar
Messages postés
4269
Date d'inscription
samedi 8 septembre 2007
Dernière intervention
29 août 2018
-
Salut,

J'ai lut en diagonale mais il y a un truc qui me perturbe ... tu veux "traduire du code javascript en php". En soit ca n a pas de sens, ce sont deux techno qui n ont absolument pas le même rôle.

Par contre ce qui est possible, via l AJAX, c'est de donner du dynamisme pour charger des zones (ce que tu sembles vouloir faire): à l event onClick, tu fera un appel en AJAX (donc à ton serveur) pour loader le formulaire à afficher, et injecter ce formulaire dans une zone (une div généralement) prédéfinie.

Cependant pour moi ce n est pas la solution la plus simple ou réactive: au click, il faudra attendre l appel => bien que ca sera rapide, une petite surcharge du réseau ou du serveur pourra engendrer des delai lors de l utilisation. Je pense que le mieux est de loader tous les formulaire au chargement de la page et les masquer pour ensuite gérer les évènement onClick pour afficher le formulaire correspondant.

naga

EDIT: Je vais rajouter une chose car tu ne sembles pas le savoir:
Mais en JavaScript, on utilise pas les variables globales POST et GET

C'est normal ca n a aucuns sens en javascript => ce sont des méthodes de transmissions au serveur pour interprétation OR le javascript est un langage client.
Vous m'avez bien compris vers la fin de votre commentaire. Je voulais bien charger tous les formulaire sur une seule page. Et OnClick d'un bouton, que son formulaire soit affiché. Je parlais du fonctionnement des variable globales de PHP. Car en PHP, on utilise les variables globales pour conditionner les information à afficher. Je ne veux pas utiliser PHP dans mon code. Je veux seulement utiliser JavaScript et HTML et CSS. Et pour conditionner l'affichage des formulaires de la page(tous les formulaires chargés sur une même page), je veux utiliser le JavaScript.
Ma question : comment utiliser JavaScript pour avoir ce résultat. Si un bouton est cliqué, que seul sonformulaire soit affiché et les autres formulaires masqués.
jordane45
Messages postés
23610
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 décembre 2018
> Kelsilver -
Il te suffit de jouer avec la proprieté ( du css) display
et les rendre visible ou non.
display:none


display:block
nagaD.scar
Messages postés
4269
Date d'inscription
samedi 8 septembre 2007
Dernière intervention
29 août 2018
> jordane45
Messages postés
23610
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 décembre 2018
-
voila, ou encore 'visibility'.

mais ca me perturbe toujours de lire des choses tel que "Je ne veux pas utiliser PHP dans mon code. Je veux seulement utiliser JavaScript et HTML et CSS."
Commenter la réponse de Kelsilver

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.