Java-script text a la place d'un chiffre

Résolu/Fermé
olivier - 12 oct. 2009 à 00:23
 olivier - 8 nov. 2009 à 07:06
Bonjour,
Est ce que quelqu'un pourrait m'aider pour ce codage en java-script.
Je voudrais sur code java script remplacer,ce qui me donne le chiffre par un texte et je sais pas comment faire. Si vous préferez actuellement c'est un chiffre qui s'affiche dans le resultat et je voudrais que a la place du chiffre sa soit un texte .
exemple si on fait signe 1+nombre d'habitant -500+metier sdf avec les menu déroulant.J'obtient le chiffre 3 a la place je voudrais ecrire le mot jambon,ainsi de suite pour les 12 possibiltés.

Je vous donne mon code

<script language="JavaScript">

function calcul (form) {
var signe = form.signe.value;
var habitant = form.habitant.value;
var milieu = form.milieu.value;
var facteur = parseInt(signe) + parseInt(habitant) +parseInt(milieu) ;

while (facteur > 12){
facteur = addition(String(facteur));
}

form.resultat.value = facteur;
}

function addition(num) {
var n = String(num);
var d = parseInt(n.charAt(0));
var u = parseInt(n.charAt(1));
return u + d;
}
</script>

<center>
<form>
<tr>
<td>signe</td>
<td><div align="right"><select name="signe">
<option value="x">Choisissez un jour</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>

</select></div></td>
</tr>
<tr>
<td> nombre d'habitant</td>
<td><div align="right"><select name="habitant">
<option value="x">Choisissez un mois</option>
<option value="1">-500</option>
<option value="2">-1000</option>
<option value="3">-2000</option>
<option value="4">-5000</option>
<option value="5">-10 000</option>
<option value="6">-20 000</option>
<option value="7">-50 000</option>
<option value="8">-100 000</option>
<option value="9">-200 000</option>
<option value="10">-500 000</option>
<option value="11">-1 000 000</option>
<option value="12">+1 000 000</option>
</select></div></td>
</tr>
<tr>
<td>Metier</td>
<td><div align="right"><select name="milieu">
<option value="x">Choisissez un mois</option>
<option value="1">sdf</option>
<option value="2">ouvrier</option>
<option value="3">juge</option>
<option value="4">avocat</option>
<option value="5">liberale</option>
<option value="6">architecte</option>
<option value="7">notaire</option>
<option value="8">assurance</option>
<option value="9">banque</option>
<option value="10">sans emploi</option>
<option value="11">religieux</option>
<option value="12">eglise</option>
</select></div></td>
</tr>



<P>
<input value="Calculer" onclick="calcul(this.form)" type="button">
</P>
<p>Resultat :
<input name="resultat" size="5" type="text"></p>
A voir également:

10 réponses

jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
12 oct. 2009 à 10:44
Bonjour,

Ce que tu veux c'est récupérer la valur de l option choisie par l utilisateur et en fonction, lui renvoyer une autre valeur d un tableau.. d où le 'jambon' je présume que tu doit avoir un tableau avec 1=oie,2=boudin, 3=jambon, 4=saucisse.. c est ca ??

.... quoique je vois pas le rapport entre le jambon, et le nombre d habitant.. d autant que la premeire option est : Choisissez un mois.. mais bon, je suppose que c est pour la forme de l exemple ;)
0
coucou

si tu rentre mon script ds une page html tu a trois menu deroulant si tu choisi a chaque fois l'option numero 1 dans le resultat tu aura le chiffre trois moi je voudrais lui dire que si il a le chiffre trois il affiche "jambon" et oui cest pour la forme!!! et sa je sais pas faire. et je voudrais la meme chose pour les douze possibilités.

Donc pour te répondre oui c'est sa.
Es ce que tu peux m'aider pour sa.

Merci olivier
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
12 oct. 2009 à 14:26
Mais opu est la liste où tu as mis 'jambon' ?? c'est une liste d array en JS ou en PHP ? ou alors c'est une liste déroulante cachée ???
0
re non en faite j'ai pas de liste , je sais pas comment on fait d'ou ma question de comment je dois faire pour remplacer ce chiffre par un texte . moi je sais faire que le calcul d'ou ce que j'ai fait mais on me demande en gros que si chiffre= 3=jambon etc... pour tous les chiffres jusqu'à 12.Mais le probleme est là je sais pas ce qu'il faut faire pour lui dire que si chiffre et 1.2 ou 3 , il doit donner en resultat 1=oie,2=saussices,3=jambon.

J'espere avoir etait plus clair.

merci pour ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
13 oct. 2009 à 07:01
re:)
(cf https://www.commentcamarche.net/contents/587-javascript-les-tableaux )

et bien en js :

var MonTableau = ["Vide",
"oie",
"saucisse",
"jambon",
"cornichon",
"eau",
"patate"];
.....

form.resultat.value = MonTableau [facteur];

Mais bon, petite remarque.. pourquoi que jusqu a 12.. moi je dirais jusqua 36 car :

12 + (+1 000 000) + eglise = 36 non ??
0
Coucou ,

Merci ,merci ,merci mille merci sa fonctionne.C'est super gentil de ta part c'est exactement ce que je chercher à faire.

DIs moi si je peux t'embeter un peu plus mais promis aprés j'arretes loll enfin jusqu' à la prochaine fois , est ce que c'est possible que maintenant on puisse en refaisant un bouton comme celui-ci
<P>
<input value="Calculer" onclick="calcul(this.form)" type="button">
</P>

de reprednre la donner dans résultat et avec le deuxieme bouton envoyer sur une page du site.

exemple:

jai mon bouton VALIDER
en dessous j'ai mon resultat JAMBON
un autres bouton VALIDER
avec ce deuxieme bouton valider de renvoyer sur une page du site, ou on trouverait tous les jambon du monde.
Je sais sa parait tordu mon truc mais si tu a besoin je peu texpliquer en privee pourquoi je fais sa.et pourquoi cest mieux pour moi davoir un bouton qui puisse renvoyer directement à la page.

Je te remercie d'avance et encore un enorme merci pour le tableau et l'aide que tu ma deja apporter.


Oliver
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
14 oct. 2009 à 07:27
Bien sur, il suffit de mettre :
<?php
$Html="<Form method='POST' action=".$_SERVER['PHP_SELF'].">"; //Le bouton submit recharge cette meme page
$Html="<Body>

<script language='javascript'>";

//ici ton JS

$Html.="</script>";

if (isset($_POST[resultat])){//Le bouton envoyer à été pressé donc traitement du résultat
//Ici tout depend comment tu as construit ton site... ca peut etre l une de ces solutions :

header('location: '.$_POST[resultat].'.php'); //ouvrira jambon.php
ou
header('location: index.php&page='.$_POST[resultat]); //ouvrira index.php&page=jambon

}else{//Affichage du formulaire
$Html.="<select>....</select>...

<input value="Calculer" onclick="calcul(this.form)" type="button"> //Ton bouton de calcule
<input name="resultat" size="5" type="text">//Le resultat des select

<input name="BtnValid" id="BtnValid" type="submit" value="Envoyer">//Ton bouton d envoie
}
$Html.="</Body></Form>";

echo $Html;
?>


Voili, j espère que ca t avance ;)
0
Bonjour merci pour ton code c'est gentil de m'aider , mais j'y arrive pas je comprends j'arrive pas a envoyer mes pages.Donc je voudrais savoir parce que d'habitude je monte comme sa:
--------------------------------------------------------------------------------
trois bandeau deroulant pour choisir

if (month == 1 && date >=20 || month == 2 && date <=18) {value = "Valider"; open("Définition/jambon.php","_self");}

donc au finale j'avai jamais de fonction calcul .
--------------------------------------------------------------------------------

Pour faire plus simple voila mon js
celui la est nickel sa s'affiche

<script language="JavaScript">

function calcul (form) {
var signe = form.signe.value;
var habitant = form.habitant.value;
var milieu = form.milieu.value;
var facteur = parseInt(signe) + parseInt(habitant) +parseInt(milieu) ;

while (facteur > 12){
facteur = addition(String(facteur));
}



var MonTableau = ["Vide",
"oui",
"non",
"ouinon",
"jamboon",
"saucisson",
"herbes paysanne",
"La mache",
"Le chaine",
"Le radis",
"La balance",
"La marguerite",
"L'arc"];
form.resultat.value = MonTableau [facteur];

}


function addition(num) {
var n = String(num);
var d = parseInt(n.charAt(0));
var u = parseInt(n.charAt(1));
return u + d;
}
</script>
mes trois bandeau déroulant
avec mes option et mon bouton.
<P>
<input value="Calculer" onclick="calcul(this.form)" type="button">
</P>
<p>Vous êtes une :
<input name="resultat" size="12" type="text"></p>

---------------------------------------------------------------------------------------
es ce que cest possible d'integrer quelques chose comme sa
et qu'il recupere le resultat et suivant le resultat quil emmene a la page. parce que si je dois le faire comme je faisait avant sans le calcul il faudrait que je me fasse un code de 1700 ligne.
Donc sa serait plus simple que je garde l'idee du calcul.

if (Som==1) {open("chemin-1.html","_self");}
if (Som==2) {open("chemin-2.html","_self");}
if (Som==3) {open("chemin-3.html","_self");}
if (Som==4) {open("chemin-4.html","_self");}
if (Som==5) {open("chemin-5.html","_self");}
if (Som==6) {open("chemin-6.html","_self");}
if (Som==7) {open("chemin-7.html","_self");}
if (Som==8) {open("chemin-8.html","_self");}
if (Som==9) {open("chemin-9.html","_self");}

Je sais pas si je suis bien clair si ta besoin de plus d'eclaicissement di moi

Je te remercie d'avance
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
20 oct. 2009 à 17:57
bonsoir,

désolé pour le temps d attente...

Bon déjà, au lieu de tes 50 if :

if (Som==1) {open("chemin-1.html","_self");}

=>
js:
open("chemin-"+ Som +".html","_self");

php
open("chemin-".$Som.".html","_self");

Mais je connais pas ta fonction open... si tu veut recharger la page avec une url spécifique :
js:
window.location.replace("chemin-"+ Som +".html");
php:
header('location: chemin-'.$Som.'.html');
0
Bonjour désoler pour d'avoir etait aussi long.

C'est parfait sa fonctionne correctement j'ai réussi a trouver avec tes éléments et les miens. Depuis tout fonctionne correctement.

Je te remercie de ta précieuse aide et te souhaite beaucoup de bonheur.

Grand merci a toi et peut être a bientôt.

Olivier
0