Aller au contenu

Liste déroulante et calcul.


beno66

Sujets conseillés

Bonjour,

Sa fait quelque jour que je galère alors je demande de l'aide:

J'ai créer 2 liste déroulante (Nombre et couleur), je voudrai que le nombre et la couleur s'additionne et marque le résultats dans le champ texte en dessous.

Voici ce que j ai creer:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
</head>

<body>
<form action="Sanstitre-6.html" method="post" name="form1" target="_blank" id="form1">
<label for="Nombre"></label>
<select name="Nombre" id="1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>
<p>
<label for="couleur"></label>
<select name="couleur" id="couleur">
<option value="1">bloc</option>
<option value="10">jaune</option>
</select>
</p>
<form action="" method="post" enctype="multipart/form-data" name="form2" target="_blank" id="form2">
<label for="résultats"></label>
<input name="résultats" type="text" id="résultats" readonly="readonly" />
</form>
<p> </p>
</body>
</html>

Merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Il y a plein de bizarreries dans ton code :

_ En particulier, il faut englober les deux premiers selects et leur label dans un seul formulaire. Là, le deuxième select se balade tout seul en dehors du formulaire.

_ Le champ input pour le résultat n'a pas besoin d'être dans un formulaire, puisqu'à priori, ce n'est pas une valeur qui sera soumise.

_ Les enctype="multipart/form-data" sont inutiles

_ Les target="_blank" encore plus inutiles

_ La valeur de l'attribut "for" doit être la même que la valeur de l'attribut "id" du champ auquel il est attaché (et non pas la valeur de son "name")

Je t'invite à mettre un peu d'ordre dans tout ça avant de chercher à le faire fonctionner :)

Après, tu as deux solutions, soit tu traites le formulaire côté serveur (par exemple en php), soit tu le traites directement dans la page en javascript. Tout dépend de tes besoins.

PS : et je m'interroge sur la signification de "ajouter un nombre et une couleur".

PS 2 : et je m'interroge aussi sur la couleur qui s'appelle "bloc" ??

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Ernestine: Comme tu pu le voir je suis pas un expert du codage.

Voila mon but et de pouvoir additionné la 1er liste déroulante ("Nombre") qui à trois choix ( "1" de valeur 1, "2" de valeur 2 et "3" de valeur 3) à l'autre liste déroulante ("couleur") qui a 2 choix ("bloc" de valeur 1 et "jaune" de valeur 10)

Ps: bloc n est pas une couleur ;) c été juste un exemple.

Salut, captain_torche

Je peu te donner sa en PV.

Merci de votre aide

Lien vers le commentaire
Partager sur d’autres sites

Voila mon but et de pouvoir additionné la 1er liste déroulante ("Nombre") qui à trois choix ( "1" de valeur 1, "2" de valeur 2 et "3" de valeur 3) à l'autre liste déroulante ("couleur") qui a 2 choix ("bloc" de valeur 1 et "jaune" de valeur 10)

J'avais bien compris, mais c'est surtout sur la pertinence du concept que je m'interrogeais, mais peu importe.

En tous cas, ça ne t'empêche pas de faire un gros nettoyage de ton code, comme indiqué dans le précédent message. Sinon, tu n'arriveras à rien de bon. Avant de t'occuper du traitement du formulaire, commence par faire un formulaire propre et correct ;)

Lien vers le commentaire
Partager sur d’autres sites

re,

<center>Nombres : <br/><form>

<select name="Nombres" size="1">

<option selected> non

<option value="1">1 Slots

<option value="2">2 Slots

<option value="3">3 Slots

</select>

</form></center>

<center>Couleur : <br/><form>

<select name="Couleur" size="1">

<option selected> non

<option value="1">bloc

<option value="10">jaune

</select>

</form></center>

ces mieux?

Lien vers le commentaire
Partager sur d’autres sites

Non :P Il faut englober les deux premiers champs dans un même formulaire, et il faut refermer les balises option. Ce qui donnerait :

<form method="post" action="">
<fieldset>
<legend>Mon beau formulaire</legend>
<label for="nombres">Nombres : </label>
<select id="nombres" name="nombres">
<option value="1">1 Slot</option>
<option value="2">2 Slots</option>
<option value="3">3 Slots</option>
</select>
<br />
<label for="couleur">Couleur : </label>
<select id="couleur" name="couleur">
<option value="0" selected="selected">Non</option>
<option value="1">bloc</option>
<option value="10">jaune</option>
</select>
<br />
<input type="submit" value="Calculer" />
</fieldset>
</form>

<div>
<label for="resultat">Résultat : </label>
<input id="resultat" type="text" readonly="readonly" />
</div>

Maintenant, on peut vraiment commencer à réfléchir à ton problème. Parce qu'avec ton code du début, je te mets au défi d'en tirer quoi que ce soit, et je ne suis pas étonnée de t'entendre dire : "Sa fait quelque jour que je galère" ;)

Lien vers le commentaire
Partager sur d’autres sites

Tu as deux solutions : soit tu fais le traitement du formulaire côté serveur (disons en php), soit tu le fais côté client (c'est à dire directement dans le navigateur des gens) en javascript.

Si c'est pour un simple affichage du résultat ET que ton public est ciblé, tu peux le faire en javascript. Mais si c'est pour un site web "classique", alors c'est beaucoup mieux de le faire côté serveur.

La grande question maintenant est donc la suivante : ton serveur peut-il faire du php ?

Pour le savoir, insère cette ligne quelque part dans le body de ta page :

<?PHP phpinfo(); ?>

Et affiche la page dans ton navigateur. Si tu obtiens un grand tableau bleu-violet avec plein d'informations, alors c'est bon, tu as PHP.

PS : si tu peux faire ce test directement chez ton hébergeur c'est mieux, car je ne pense pas que tu aies installé php sur ton propre ordinateur.

Lien vers le commentaire
Partager sur d’autres sites

j'ai bien le php sur mon serveur!

sa deviendra un site marchand donc le mieux et de le faire sur mon serveur!

Et maintenant je dois recréer une page?

Si c'est pour un site marchand, il ne s'agit pas de faire du bricolage, or là tu n'as clairement aucune connaissance en php, parce que là il s'agit juste de récupérer deux champs et de faire une addition. On peut te donner le code, mais dès qu'il y aura le moindre problème, tu ne sauras pas comment le résoudre. Je t'invite à lire ces deux articles :
/>http://www.webmaster-hub.com/publication/Mon-premier-programme-en-PHP.html
/>http://www.webmaster-hub.com/publication/Mon-premier-programme-en-PHP-2e.html

Puis faire un essai et le poster ici pour correction si ça ne marche pas. Car on ne peut quand même pas faire la totalité du code à ta place :)

Lien vers le commentaire
Partager sur d’autres sites

je te remercie de te faire du soucis je veu juste savoir comment on fait pour avancer un peu :) les soucis je verai quand je les aurai. :unsure:

Ps: Un site marchand est un bien grand mot, sa va être un site pour donner des dons, des trucs comme sa! donc un tout petit truc de rien du tout.

Merci déjà pour ton aide.

Modifié par beno66
Lien vers le commentaire
Partager sur d’autres sites

  • 5 semaines plus tard...

Re,

C'été pour dire que le sujet été clos vu que j'ai réussi avec mon code à moi tout mal fait du point de vue de Ernestine.

Ps: Ernestine c'était pas difficile de m'expliquer qui y avait une fonction calculatrice.

Merci quand meme

Lien vers le commentaire
Partager sur d’autres sites

Mais on ne sait même pas où était ton problème : la récupération des paramètres ? Leur addition ? L'affichage du résultat de cette addition ? A quel endroit cela bloquait-il ?

Tu ne montres aucun des tests que tu as fait, tu copies-colles juste un formulaire (bancal, et ce n'est pas une question de point de vue) et tu répètes juste "comment je fais pour afficher le résultat".

Enfin bon, ravie d'apprendre que tu as réussi, même si cela t'a pris un mois, et ravie d'apprendre que tu as découvert que PHP permet de réaliser une addition ("fonction calculatrice" est un bien grand mot tout de même pour une addition).

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...