11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je n'arrive pas a faire apparaitre le résultat de mon calcule sur le champs voulu. Sachant que cela doit s'afficher des le premier chiffre écrit et ce modifier a chaque ajout/suppression/modification.

HTML
Code :

<div class="col s12 input-group">
          <div class="input-field col s6">
                    <input placeholder="Le montant de votre salaire, exemple : 1234 ou 1234.67" id="sal_brut" name="sal_brut" type="text" title="Ne peut comporter qu'un nombre entier ou à virgule" value="" class="validate" required>
                    <label for="sal_brut" class="active">Salaire brut <span class="red-text">*</span></label>
          </div>
         <div class="col s6">
                   <p class="font12 grey-text text-lighten-1"></p>
        </div>
       <div class="col s12 input-group">
               <div class="input-field col s12">
                        <label for="paie_salaire_brut" class="active">13ème mois <span class="red-text">*</span></label>
               </div>
                         <div class="col s12 input-group"><br>
                                    <input type="radio" name="treiz_mois" value="12" id="treiz_mois_non" checked=""><label for="treiz_mois_non">Non  </label>
                                    <input type="radio" name="treiz_mois" value="13" id="treiz_mois_oui"><label for="treiz_mois_oui">Oui</label>
                                    <br><br> 
                          </div>
                </div>
 
                <div class="col s12 input-group">
                      <div class="input-field col s6">
                               <input placeholder="" id="sal_brut_ann" name="sal_brut_ann" type="text" value="" class="" readonly>
                               <label for="sal_brut_ann" class="active">Salaire brut annuel</label>
                    </div>
                    <div class="col s6">
                              <p class="font12 grey-text text-lighten-1">Total du salaire brut calculé automatiquement</p>
                    </div>
          </div>
</div>


JS
Code :

 // Calcule du 13ème moi
 
    $('#12, #13').on('keyup change', function(){
        var salBrut = convertFloat($('#sal_brut').val());
 
        if($('#12') .is (':checked')){ 
            var salBrutAnn = Math.abs(salBrut * 13);
            $('#sal_brut_ann').val(salBrutAnn);
        } else {
            var salBrutAnn = Math.abs(salBrut * 12);
            ('#sal_brut_ann').val(salBrutAnn);
        }; 
    });


Je suis encore novice en JS

Merci et bonne journée
Merci pour les infos j'ai modifier mon code aussi.

<div class="col s12 input-group">
      <div class="input-field col s6">
                <input placeholder="Le montant de votre salaire, exemple : 1234 ou 1234.67" id="sal_brut" name="sal_brut" type="text" title="Ne peut comporter qu'un nombre entier ou à virgule" value="" class="validate" required>
                  <label for="sal_brut" class="active">Salaire brut <span class="red-text">*</span></label>
       </div>
       <div class="col s6">
             <p class="font12 grey-text text-lighten-1"></p>
       </div>
             <div class="col s12 input-group">
                     <div class="input-field col s12">
                              <label for="nb_mois" class="active">13ème mois <span class="red-text">*</span></label>
                      </div>
                     <div class="col s12 input-group"><br>
                              <input type="radio" name="nb_mois" value="12" id="nb_mois_12" checked=""><label for="nb_mois_12">Non  </label>
                               <input type="radio" name="nb_mois" value="13" id="nb_mois_13"><label for="nb_mois_13">Oui</label>
                                <br><br> 
                       </div>
             </div>

             <div class="col s12 input-group">
                       <div class="input-field col s6">
                              <input placeholder="" id="sal_brut_ann" name="sal_brut_ann" type="text" value="" class="" readonly>
                              <label for="sal_brut_ann" class="active">Salaire brut annuel</label>
                        </div>
                       <div class="col s6">
                                <p class="font12 grey-text text-lighten-1">Total du salaire brut calculé automatiquement</p>
                       </div>
             </div>
</div>


et JS

$('[name="nb_mois"]').on('keyup', function(){
        var salBrut = parseFloat($('#sal_brut').val());
                    
        if($('#nb_mois_13').is(':checked')){ 
            var salBrutAnn = Math.abs(salBrut * 13);
            $('#sal_brut_ann').val(salBrutAnn);
        } else {
            var salBrutAnn = Math.abs(salBrut * 12);
            $('#sal_brut_ann').val(salBrutAnn);
        }; 
    });
Résolu avec ce code Smiley smile

function Go() {
        var salBrut = parseFloat($('#sal_brut').val());
        var salBrutAnn;

        if ($('#nb_mois_13').is(':checked')) {
            salBrutAnn = Math.abs(salBrut * 13);
        } else {
            salBrutAnn = Math.abs(salBrut * 12);
        }
        ;
        $('#sal_brut_ann').val(salBrutAnn);
    }
    $('input[type=radio],#sal_brut').on('change keyup', function () {
        Go();
    });