Code trop long

P-A -  
jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
J'ai un probleme de code trop long. Je sais qu'on peut utiliser un site hébergeant les fichiers.JS mais je ne peux acceder a ce genre de site depuis mon travail. Est-ce qu'il y aurait un moyen de créer un loop de 0@19pour ma fonction ?

javascript:if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:0").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:0").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:0").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:0").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:1").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:1").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:1").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:1").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:2").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:2").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:2").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:2").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:3").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:3").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:3").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:3").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:4").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:4").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:4").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:4").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:5").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:5").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:5").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:5").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:6").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:6").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:6").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:6").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:7").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:7").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:7").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:7").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:8").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:8").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:8").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:8").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:9").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:9").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:9").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:9").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:10").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:10").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:10").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:10").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:11").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:11").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:11").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:11").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:12").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:12").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:12").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:12").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:13").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:13").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:13").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:13").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:14").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:14").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:14").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:14").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:15").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:15").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:15").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:15").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:16").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:16").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:16").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:16").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:17").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:17").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:17").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:17").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:18").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:18").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:18").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:18").value="10";}
if (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:19").value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:19").value=="") { document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:19").value="40632"; document.getElementById("MaterialsAdvTblRN:MatOp:19").value="10";}

MERCI !
Configuration: Windows / Internet Explorer 11.0

1 réponse

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Pourquoi parles de :

    Je sais qu'on peut utiliser un site hébergeant les fichiers.JS mais je ne peux acceder a ce genre de site depuis mon travail

    Pour montrer ton code ?
    Car il faut directement le poster ici ... mais en utilisant les BALISES DE CODE
    Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
    Merci d'y penser à l'avenir.

    concernant ton code... tu répètes plusieurs fois le même code.. il serait donc judicieux de le placer dans une fonction.... ou deux... et une boucle
    function verifiesivaleursok(indice){
     return (document.getElementById("MaterialsAdvTblRN:xxSubinventoryLov:" + indice).value && document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:"+indice).value=="") ? true : false;
    }
    
    function setvaleur(indice){
      document.getElementById("MaterialsAdvTblRN:xxDeliverToFlex0:"+indice).value="40632"; 
      document.getElementById("MaterialsAdvTblRN:MatOp:"+indice).value="10";
    }
    
    //boucle de traitement
    for(var i=0; i<=19 ; i++){
      if(verifiesivaleursok(i)){
        setvaleur(i);
      }
    }
    


    2
    1. P-A
       
      Merci beaucoup pour la réponse,
      Je suis désolé, je n'ai pas mentionné que c'était pour un bookmarklet.. la longueur du "lien url" d un favoris a une capacité limitée de caractères. C'est pourquoi j'ai parlé des fichiers .JS hébergés car on peut les utiliser comme bookmarklet.

      Pas de problèmes, je me servirai de la balise la prochaine fois!

      Merci aussi pour le remake de mon infinissable code.

      Je suis pas au boulot donc je peux pas tester mais je vous redonne des nouvelles.

      Merci encore!
      0