en fait j'ai un petit problème avec une liste déroulante. J'ai une première liste déroulante. Qui en fonction de la valeur sélectionné affiche soit un champ text, soit une deuxième liste déroulante rempli dynamiquement.
Code :
- <th width="18%"><bean:message key="facture.recherche.regroupementResultat"/> :</th>
- <td width="18%">
- <html:select property="regroupement" onchange="javascript:reloadListe('invoiceSearchSend')">
- <html:option value="pli"><bean:message key="facture.recherche.regroupementResultat.pli"/></html:option>
- <html:option value="document"><bean:message key="facture.recherche.regroupementResultat.document"/></html:option>
- </html:select>
- </td>
- <th width="18%"><bean:message key="facture.recherche.tri"/> :</th>
- <td width="18%">
- <span id="document" style="display: block" >
- <html:select name="invoiceDocumentsForm" property="query.tri">
- <html:option value="1"><bean:message key="facture.recherche.numPli"/></html:option>
- <html:option value="2"><bean:message key="facture.recherche.numClient"/></html:option>
- <html:option value="3"><bean:message key="facture.recherche.tri.dateFacturation"/></html:option>
- <html:option value="4"><bean:message key="facture.recherche.numDocument"/></html:option>
- </html:select>
- </span>
- <span id="pli" style="display: none;" >
- <bean:message key="facture.recherche.numPli"/>
- </span>
- </td>
|
Mais j'ai un problème pour remplir cette deuxième liste.
Code :
- //recharger la liste deroulante de tri
- function reloadListe(form){
- var objLinkGrpSort = new Object();
- var fieldTri = window.document.forms[form].elements["query.tri"];
- var fieldRegroupement = window.document.forms[form].regroupement;
- var RegroupementValue = fieldRegroupement.options[fieldRegroupement.selectedIndex].value;
- var optionSplit;
- //recuperer les libelles dans le formulaire
- objLinkGrpSort.document = new Array();
- for(var i=0;i<triDocList.length;i++){
- objLinkGrpSort.document[objLinkGrpSort.document.length++]= "" + triDocList[i] + "|" + i;
- }
- objLinkGrpSort.pli = new Array();
- for(var i=0;i<triPliList.length;i++){
- objLinkGrpSort.pli[objLinkGrpSort.pli.length++]= "" + triPliList[i] + "|" + i;
- }
- if(RegroupementValue == "pli" ){
- window.document.getElementById('document').style.display='none';
- window.document.getElementById('pli').style.display='block';
- }else{
- //affecter les options a la liste deroulante
- fieldTri.options.length = 0;
- for(var i=0; i<objLinkGrpSort[RegroupementValue].length; i++) {
- optionSplit = objLinkGrpSort[RegroupementValue][i].split("|" );
- fieldTri.options[fieldTri.options.length++]=new Option(optionSplit[0], optionSplit[1]);
- }
- window.document.getElementById('pli').style.display='none';
- window.document.getElementById('document').style.display='block';
- }
- }
|
J'ai comme erreur :
fieldTri.options has no properties