Mission réduire le nombre de lignes de code

Première étape dans la mission "réduire le nombre de lignes de code" (sans minifier le javascript) Ma function toute simple "createElem" suivante:

  1. function createElem(type,attributes)
  2. {
  3. var elem=document.createElement(type);
  4. for (var i in attributes)
  5. {
  6. elem.setAttribute(i,attributes[i]);
  7. }
  8. return elem;
  9. }

me permet de créer des objets dans le dom de cette manière: (exemple pour un input type radio)

  1. tdchoix.appendChild(createElem("input", {"type":"radio","id":"radioplop1","name":"radioplop","value":platId}));

Bon bah je vais raccourcir un peu un script sur lequel je bosse, dont voici un extrait:

  1. var hiddenInfoRepasId=document.createElement("input");
  2. hiddenInfoRepasId.setAttribute("type", "hidden");
  3. hiddenInfoRepasId.setAttribute("value",repasId);
  4. hiddenInfoRepasId.setAttribute("name","repasID");
  5. laForm.appendChild(hiddenInfoRepasId);
  6.  
  7. var hiddenInfoStrDate=document.createElement("input");
  8. hiddenInfoStrDate.setAttribute("type","hidden");
  9. hiddenInfoStrDate.setAttribute("value", strDate);
  10. hiddenInfoStrDate.setAttribute("name","strDate");
  11. laForm.appendChild(hiddenInfoStrDate);
  12.  
  13. var hiddenxdcheckinput=document.createElement("input");
  14. hiddenxdcheckinput.setAttribute("name", "xd_check");
  15. hiddenxdcheckinput.setAttribute("value", xd_check_input);
  16. hiddenxdcheckinput.setAttribute("type","hidden");
  17. laForm.appendChild(hiddenxdcheckinput);
  18.  
  19. var hiddenListeDeVariantes=document.createElement("input");
  20. hiddenListeDeVariantes.setAttribute("name","listeDeVariantes");
  21. hiddenListeDeVariantes.setAttribute("type","hidden");
  22. hiddenListeDeVariantes.setAttribute("value", menus[strDate][repasId]['variantes'].join('-'))
  23. laForm.appendChild(hiddenListeDeVariantes);
  24.  
  25. var hiddenListeDeComposantes=document.createElement("input");
  26. hiddenListeDeComposantes.setAttribute("name","listeDeComposantes");
  27. hiddenListeDeComposantes.setAttribute("type","hidden");
  28. hiddenListeDeComposantes.setAttribute("value", menus[strDate][repasId]['composantes'].join('-'))
  29. laForm.appendChild(hiddenListeDeComposantes);
  30.  
  31. var hiddenListeDeResidents=document.createElement("input");
  32. hiddenListeDeResidents.setAttribute("name","listeDeResidents");
  33. hiddenListeDeResidents.setAttribute("type","hidden");
  34. hiddenListeDeResidents.setAttribute("value", listeResidents.join('-'))
  35. laForm.appendChild(hiddenListeDeResidents);
  36.  
  37. var hiddenService=document.createElement("input");
  38. hiddenService.setAttribute("name","service");
  39. hiddenService.setAttribute("type","hidden");
  40. hiddenService.setAttribute("value", service)
  41. laForm.appendChild(hiddenService);
  42.  
  43. var buttonvalider=document.createElement("input");
  44. buttonvalider.setAttribute('type', 'button');
  45. buttonvalider.setAttribute('value','Valider');
  46. buttonvalider.className='buttonlarge';
  47. buttonvalider.onclick=saveCommande;
  48. laForm.appendChild(buttonvalider);
Page top