Bouton valeur max d'un champs de formulaire

Résolu
Makari -  
 Utilisateur anonyme -
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 ^^
A voir également:

18 réponses

macgawel Messages postés 664 Date d'inscription   Statut Membre Dernière intervention   89
 
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
Makari
 
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
Makari
 
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
Makari
 
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
Makari
 
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
Makari
 
personne n'a une adresse de site d'aide ou je pourrais trouver une reponse ? :(
0
Utilisateur anonyme
 
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
Makari
 
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
 
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
Makari
 
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
 
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
Makari
 
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
Makari
 
(au passage je precise que j'ai essayé dans le meme fichier, et dans un exterieur, et avec et sans balise)
0
Utilisateur anonyme
 
<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
Makari
 
<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
 
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
Makari
 
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
 
ok pas de probleme
Bonne soiree..
0