Vi espongo il mio poblemino: ho una pagina jps con una form che va su un ActionForm.
Questa input ha un campo testo che identifica il codice della società.

Posso avere due casi: arrivo sulla pagina con una società già valorizzata sul form quindi la setto direttamente, oppure ancora non so la società: ho un pulsante che mi apre una popup che mi fa selezionare tra tutte le società possibili.

codice:
  <html:text property="societa" maxlength="10" size="11" disabled="true"/>
  <logic:equal name="partiteForm" property="oneSociety" value="false">
          <input type="button" class="label" value='<bean:message key="detail.cerca.seleziona"/>' onClick = "fOpenSocieta('societa')">
  </logic:equal>
quindi, il testo lo lascio disabilitato e il pulsante per aprire la popup lo faccio vedere solo se onSociety è false, cioè se non ho una società sul form.
Nel primo caso (ho già la società) funziona tutto, il campo è disabilitato e già settato, quando invio il form nella action lo vedo correttamente.
Il tasto dolente è nel secondo caso:

nella popUp ho fatto un elenco con radio button, quando si seleziona una riga viene chiamato un javascript:
codice:
 document.societaForm.descrizione.focus();
 document.societaForm.descrizione.select();
 function ritorna(obj){
    self.opener.document.getElementsByName('<%=den%>')[0].disabled=false;
    self.opener.document.getElementsByName('<%=den%>')[0].value = obj.value;
    self.opener.document.getElementsByName('<%=den%>')[0].disabled=true;
    
    window.close();
 }
così non funziona, o meglio appena seleziono lui mi chiude la popUp e segna la società nel campo della pagina principale ma quando invio il form, nella action non vedo il valore della società settato correttamente.

Se invece tolgo:
self.opener.document.getElementsByName('<%=den%>')[0].disabled=true;

funziona tutto correttamente: chiude la popUp, setta il valore e all'invio del form lo vedo bene nella action, solo che ovviamente mi resta il campo editabile quando non dovrebbe.
Non so più cosa provare qualche idea?