Transimission données via formulaire

Kelsilver - Modifié par jordane45 le 30/11/2016 à 11:28
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 - 30 nov. 2016 à 18:06
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

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
30 nov. 2016 à 11:29
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 ?

0
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

0
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 17
Modifié par nagaD.scar le 30/11/2016 à 14:12
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.
0
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.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344 > Kelsilver
30 nov. 2016 à 16:37
Il te suffit de jouer avec la proprieté ( du css) display
et les rendre visible ou non.
display:none


display:block
0
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 17 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
30 nov. 2016 à 18:06
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."
0
Rejoignez-nous