Bouton valeur max d'un champs de formulaire

Résolu/Fermé
Makari - 3 juin 2008 à 15:05
 Utilisateur anonyme - 4 juin 2008 à 01:09
Bonjour,

je développe un jeu de gestion et il y'a un systeme de transport de ressources, j'ai donc mes champs dans lesquels le joueur doit mettre la valeur a transporter. Mais il ne peut pas transporter plus que ce que les transport permettent (normal :p) et donc, j'aurai voulu qu'a coté du champs dans lequel on mets la quantité, il y'ait un bouton "max" qui permette de remplir le champs au maximum de capacité (histoire de pas forcer le joueur a entre manuelement le montant, d'autant plu qu'il y'a differents types de ressources).
Donc bah je sais pas comment faire, j'ai essayé de chercher mais j'ai pas du trouvé les bon mots clés :/
bref, si qq1 peut m'aider :p j'suis pas contre ^^

18 réponses

macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008 89
3 juin 2008 à 19:02
Bonjour.

Quel est le langage de programmation ?
Quelle est la structure de la base ?

Si tu ne précises rien, on ne peut pas t'aider...
On va dire que c'est un jeu web.
- En pur php :
Tu mets une case à cocher "Max"
Et en retour tu teste
if ($_POST['Max']) {
   <Ressources envoyées = Maximum possible>
}
else {
<Vérifier la validité du nombre envoyé>
}


- Avec du JavaScript :
Tu mets un bouton dans ton formulaire, propriété onclick="Remplir('InputRessources', Max)"
Et une fonction générique en Javascript (à vérifier, ça fait un petit moment que je n'ai pas fait de JS)
function Remplir (Champ, Valeur) {
   document.getElementById(champ).value = Valeur
}
0
ah vi j'ai zappé les précisions, désolé, j'etais un peu fatigué (et je le suis encore lol)

oui c'est un jeu sur navigateur en php.
la solution JS semble plus convenir a ce que je cherche (pas de rechargement de page) mais je connais tres mal le JS, j'vais essayer de me renseigner dessus (si zavez des bonnes adresses suis preneur) sinon merci pour l'aiguillage.
0
groumpf, suis trop dans l'gaz, j'arrive trop pas a chercher ... :/

pour resumer mon objectif, j'ai un champs, vide et j'ai une variable (disons $ressourceMax) ce champs, l'utilisateur peut le remplir a la main, ou (ce que je cherche a faire ^^) clicker sur un bouton "maximum" qui remplira le champs avec la valeur de $ressourceMax. J'aimerai bien ne pas avoir a recharger la page, donc le JS me parait mieux, mais le code de macgawel, je n'arrive pas a le faire fonctionner (j'y connais quasi rien en JS) si quelqu'un avait la solution, ca serait bien gentil. (sinon je chercherai demain quand je serai plus en forme, mais j'aurai bien voulu finir ca ce soir ^^)

voila, merci d'avance pour vot' bonne aide :p
0
en fait mon probleme se complexifie un peu, j'ai trois type de ressources, donc trois champs, trois boutons, et je voudrai que le bouton 'max' prenne en compte le montant des autres champs, et cela selon la capacité de transports et les ressources dispo :/

pour l'instant j'ai ca :

Minerais : <INPUT NAME="minGO" size=5 value=0>Disponible dans la ville : <?php echo $mindisp; ?> <BR><BR>
<input type="button" name="bouton" value="Maximum" onclick="minGO.value= <?php echo"$maxress"; ?> - boiGO.value -metGO.value"/><BR><BR>

ca ca me donne betement la capacité maximale de transport moins ce qui est deja entré dans les champs des deux autres ressources, mais ca ne prend pas en compte les ressources dispo...
0

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

Posez votre question
j'en suis a ca :

Minerais : <INPUT NAME="minGO" size=5 value=0>Disponible dans la ville : <?php echo $mindisp; ?> <BR><BR>
<input type="button" name="bouton" value="Maximum" onclick="minGO.value=
if(<?php echo"$maxress"; ?> - boiGO.value - metGO.value > <?php echo"$mindisp"; ?> ){
<?php echo"$mindisp"; ?>
}
else{
<?php echo"$maxress"; ?> - boiGO.value - metGO.value
}
"/><BR><BR>


mais ca marche pas du tout lol :p
0
personne n'a une adresse de site d'aide ou je pourrais trouver une reponse ? :(
0
Utilisateur anonyme
4 juin 2008 à 00:01
Salut,
D'abord je vais faire simple :
<INPUT NAME="minGO" size="5" value="" id="minGO">Disponible dans la ville : <?php echo $mindisp; ?> 

<input type="button" name="bouton" value="Maximum" onclick="document.getElementById('minGO').value =<?php echo"$maxress"; ?>;"/>


Normalement la si tu clique sur le bouton "Maximum" tu va mettre la valeur $maxress dans "minGO".
Maintenant si tu veux ajouter des valeurs ou retrancher des valeurs il faut savoir que tu peut aller chercher des donnée en utilisant document.getElementById('variable').value;
Cette variable est donné par le id="variable" qui se trouve dans ton champs.
Voila Bon courage
0
oui, mais le resultat a mettre dedans depends de plusieurs facteurs, et pour ca je voudrais utiliser du if/else, mais je sais pas ou le placer, j'ai essayé (comme je l'ai montré) mais evidememnt ca marche pas :/

comment on pourrait fair pour que en cliquant sur le bouton il fasse "afficher X" si (condition1) et "afficher Y" si (condition2) ?
0
Utilisateur anonyme
4 juin 2008 à 00:15
A ce moment la il faut que tu fasse une fonction javascript
<script>
function JS_test_valeur()
{
 if (condition1)
  document.getElementById('minGO').value="X";
 else
  document.getElementById('minGO').value="Y";
}
</script>
<INPUT NAME="minGO" size="5" value="" id="minGO">Disponible dans la ville : <?php echo $mindisp; ?> 
<input type="button" name="bouton" value="Maximum" onclick="JS_test_valeur();"/>

0
ok, je vais essayer ca.
j'ai juste une petite question .. qui va paraitre bien bete ... La fonction en question, sera bien dans un autre fichier ? doit on le nommé du meme nom que la fonction ? (j'ai jamais fais de JS avant aujurd'hui :/)
0
Utilisateur anonyme
4 juin 2008 à 00:29
Alors je dirai que c'est preferable de le mettre dans un autre fichier la declaration c'est :
<script type="text/javascript" src="lerepertoire/lefichier.js"></script>

Et dans ce fichier il faut pas mettre < script >< / script >
Pour le nom du fichier.js tu peux l'appeler comme tu veux. Moi je fais souvent un fichier js.js ou il y a toutes les fonctions javascript.
0
pas réussi a faire marché :/
le probleme aussi est que j'essaie d'utiliser des variables php dans le script :

<script>
function boutonmaximum()
{
if(<?php echo"$maxress"; ?> - document.getElementById('boiGO').value - document.getElementById('metGO').value > <?php echo"$mindisp"; ?> ){
<?php echo"$mindisp"; ?>
}
else{
<?php echo"$maxress"; ?> - boiGO.value - metGO.value
}
}

et je sais pas si c'est ca, mais en tout cas ca fait que ca marche pas :/
0
(au passage je precise que j'ai essayé dans le meme fichier, et dans un exterieur, et avec et sans balise)
0
Utilisateur anonyme
4 juin 2008 à 00:39
<script>
function boutonmaximum()
{
  var maxress = <?php echo"$maxress"; ?>;
  var boiGo = document.getElementById('boiGO').value;
  var metGO = document.getElementById('metGO').value;
  if((maxress  - boiGO - metGO) > <?php echo"$mindisp"; ?> ){
   document.getElementById('minGO).value = <?php echo"$mindisp"; ?>;
}
else{
document.getElementById('minGO).value = (<?php echo"$maxress"; ?> - boiGO - metGO);
}
} 
</script>

Essaye ca . Tu avais oublier de mettre ta valeur dans l'input
0
<script>
function boutonmaximum()
{
var maxress = <?php echo"$maxress"; ?>;
var boiGo = document.getElementById('boiGO').value;
var metGO = document.getElementById('metGO').value;
var mindispo = <?php echo"$mindisp"; ?>;

if((maxress - boiGO - metGO) > mindispo ){
document.getElementById('minGO').value = mindispo;
}
else{
document.getElementById('minGO').value = (maxress - boiGO - metGO);
}
}
</script>


Minerais : <INPUT NAME="minGO" size=5 value=0>Disponible dans la ville : <?php echo $mindisp; ?> <BR><BR>
<input type="button" name="bouton" value="Maximum" onclick="boutonmaximum()"/><BR><BR>

toujours pas de resultat :/
j'ai copié mon code histoire qu'on me dise si j'ai pas fais de faute (a cette heure la c'est bien possible)
0
Utilisateur anonyme
4 juin 2008 à 00:59
Dans la fonction Js, tu vois qu'il y a metGO et boiGO est ce que tu as mis les id sur les input qui font reference a ces variables :
<?php
//pour mes tests :
$maxress = 25;$mindisp =2;
?>
<script>
function boutonmaximum()
{
var maxress = <?php echo $maxress; ?>;
var boiGO = document.getElementById('boiGO').value;
var metGO = document.getElementById('metGO').value;
var mindispo = <?php echo $mindisp ; ?>;

if((maxress - boiGO - metGO) > mindispo ){
document.getElementById('minGO').value = parseInt(mindispo);
}
else{
document.getElementById('minGO').value = parseInt(maxress - boiGO - metGO);
}
}
</script>
<INPUT NAME="boiGO" size="5" value="0" type="text" id="boiGO"/>
<INPUT NAME="metGO" size="5" value="0" type="text" id="metGO" />

Minerais : <INPUT NAME="minGO" size="5" value="0" type="text" id="minGO" />Disponible dans la ville : <?php echo $mindisp; 

?> <BR><BR>
<input type="button" name="bouton" value="Maximum" onclick="boutonmaximum();"/><BR><BR>

0
j'arrive pas a le faire marcher avec mon code, mais en copiant le tiens ca fonctionne (???) du coup bin je vais travailler a partir de ta base et modifier pour avoir le reste des recultats voulus ^^

merci pour ton aide, je pense que je vais pouvoir m'en sortir maintenant ;)

voila, merci encore et peut etre a bientot (enfin pas j'espere que j'aurai pas trop besoin de revenir hihi)
0
Utilisateur anonyme
4 juin 2008 à 01:09
ok pas de probleme
Bonne soiree..
0