Code trop long

Fermé
P-A - Modifié le 24 janv. 2019 à 17:28
jordane45 Messages postés 38157 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 - 28 janv. 2019 à 15:55
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
A voir également:

1 réponse

jordane45 Messages postés 38157 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 4 655
24 janv. 2019 à 22:46
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
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
Ton code marche a perfection !

A+
0
jordane45 Messages postés 38157 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 4 655 > P-A
28 janv. 2019 à 15:55
0