Partage
  • Partager sur Facebook
  • Partager sur Twitter

Valeur par "defaut"

Sujet résolu
    10 novembre 2010 à 10:39:59

    Bonjour à tous :)

    ma question est tres simple lol :)

    à l'aide d'une fonction javascript, je voudrai verifier si la valeur entrée dans un input est superieure au maxi autorisé
    sachant que la valeur maxi est proposée par defaut dans l'input.

    y a t il une fonction qui permet d'acceder à cette valeur par defaut (visible avec la commande code source de la page)
    ou alors un astuce ...

    merci pour votre aide :)
    • Partager sur Facebook
    • Partager sur Twitter
    Souvent la moitié de la réponse se trouve dans une question bien posée.
      10 novembre 2010 à 11:37:18

      Salut,

      Si tu ne sais pas comment accéder à la valeur d'un input, je te suggère de lire le tutoriel de base en javascript.
      Ca ne te sera que profitable ^^
      • Partager sur Facebook
      • Partager sur Twitter
      Directeur technique, créateur de jeux HTML5 et fan de JavaScript | La suite de OnHack est sur les rails !
        10 novembre 2010 à 11:56:10

        merci de ta reponse :) je sais tres bien comment acceder à un input via JS, j'ai lu tout le tuto de josé qui m' a ete tres instructif :)

        je pensais juste que la "valeur par defaut" inserée dans l'input lors du chargement de la page (donnée $_POST['']) etait accessible via une commande speciale, etant donné que lors d'un clic sur le bouton annuler, la valeur première revient, même si nous l'avons modifié x fois manuellement ou via JS

        actuellement je dédouble mes inputs afin d'avoir la valeur par defaut toujours accessible, mais ca fait bcp plus de champs à gerer ...

        code :
        <input type="hidden" name="IdArticle0" value="47"/>
        <input type="hidden" name="prixUnitaireRefined0" value="2.00000"/>
        <input type="hidden" readOnly="true" name="nbRefinedHidden0" id="nbRefinedHidden0" value="45"/>
        <input type="hidden" readOnly="true" name="TThidden0" id="TThidden0"  value="90.00" />
        						
        <tr>			
        	<td class="libelle"> Antimagnetic Oil</td>							
                <td class="nbrefine"> <input type="text" name="nbRefined0" id="nbRefined0" value="45" OnChange="refine(0,2.00000)" OnFocus="this.select()"/></td>						
                <td class="TTA"> <input type="text" name="TT0" id="TT0"  value="90.00" OnChange="tt(0)" OnFocus="this.select()" /></td>
                <td class="TxMoyA"> <input type="text" readOnly= "true" name="tauxMoyen0" id="tauxMoyen0" value="117.81" />%</td>
                <td class="TTCA"> <input type="text" readOnly= "true" name="TTC0" id="TTC0" value="106.03"/></td>	
                <td class="taux"> <input type="text" name="tauxVente0" id="tauxVente0" value="0.00" OnChange="taux(0)" OnFocus="this.select()"/>%</td>
                <td class="fee"> <input type="text" readOnly= "true" name="fee0" id="fee0" value="0.00"/>
                <td class="SoBoA"> <input type="text" name="startBid0" id="startBid0" value="0.00" OnChange="sb(0)" OnFocus="this.select()"/>
                <td class="benefice"> <input type="text" readOnly = "true" name="benefice0" id="benefice0" value="0.00"/></td>						
        </tr>
        


        code JS associé
        function refine(NA,PR) // NA = numeroArticle - PR = prixRefined
        	{
        		var nbRef = parseInt(form.elements['nbRefinedHidden'+NA].value);
        		
        		while(form.elements['nbRefined'+NA].value>nbRef) /* Verification si dépassement du nombre d'objets refiné */
        		{
        			form.elements['nbRefined'+NA].value = prompt('Vous ne disposez que de '+nbRef+' elements refinés\nEntrez une nouvelle valeur...',nbRef);
        		}
        		form.elements['TT'+NA].value = parseFloat(form.elements['nbRefined'+NA].value * PR).toFixed(2);
        		form.elements['TTC'+NA].value = parseFloat(form.elements['TT'+NA].value * form.elements['tauxMoyen'+NA].value/100).toFixed(2);
        		form.elements['startBid'+NA].value = parseFloat(form.elements['TT'+NA].value * form.elements['tauxVente'+NA].value/100).toFixed(2);
        
        	//calcul(NA);
        	}
        


        dans ce code, j'utilise nbRefinedHidden et TThidden qui sont les meme que nbRefined et TT, sauf qu elles ne seront pas modifiée.

        l'acces à la valeur "originale" de l'input TT ou nbRefined economiserai des lignes de code :)

        j'espere avoir mieux expliqué ce que je voulais ...

        merci à vous pour votre aide :)
        • Partager sur Facebook
        • Partager sur Twitter
        Souvent la moitié de la réponse se trouve dans une question bien posée.
          10 novembre 2010 à 12:07:43

          Je vois. Peut-être en mettant ces valeurs par défaut dans un tableau, et les comparer après la saisie ?
          • Partager sur Facebook
          • Partager sur Twitter
          Directeur technique, créateur de jeux HTML5 et fan de JavaScript | La suite de OnHack est sur les rails !
            10 novembre 2010 à 12:16:42

            au tout debut c'est ce que j' ai fait avec 2 Array comme ceci :

            ttu[<?php echo $numeroArticle; ?>] = <?php echo $_POST['PR'.$i]; ?>;
            refined[<?php echo $numeroArticle; ?>] = <?php echo $_POST['R'.$i]; ?>
            


            mais suite à une modif de code, il n' a plus reconnu ttu[] et refined[] dans mes functions ...

            de plus, la logique de cette page ne correspondait pas à la logique des autres pages du projet

            suite à ta reponse, je pense connaitre les 2 solutions possible à mon probleme

            je te remercie :)
            • Partager sur Facebook
            • Partager sur Twitter
            Souvent la moitié de la réponse se trouve dans une question bien posée.
              10 novembre 2010 à 12:20:16

              Si tu veux que tes variables soient utilisables dans tes fonctions, il faut les rendre globales avec var (ce qui produit l'effet inverse quand on l'utilise à l'intérieur des fonctions. C'est une histoire de "contexte" et de "portée")
              • Partager sur Facebook
              • Partager sur Twitter
              Directeur technique, créateur de jeux HTML5 et fan de JavaScript | La suite de OnHack est sur les rails !
                10 novembre 2010 à 12:51:33

                if (input.value >= input.defaultValue)
                    // ...
                

                Ou je n'ai pas compris ?
                • Partager sur Facebook
                • Partager sur Twitter

                Valeur par "defaut"

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown