Newsgroup: it.comp.lang.javascript
Titolo: Create element input

Salve,
ho questo problemino.
Dovrei creare un campo input se nel SELECT viene presa l'opzione "Nuova
Azione", e scriverlo dopo questa select. Ma purtroppo non succede nulla.
Se al posto di 'getElementById' uso 'body' me lo scrive in fondo pagina.
Grazie in anticipo a chi mi risponderà.
Questa è il mio codice
<HTML>
<script>
function CreaInput() {
if
(document.inserisciEvento.Azione.options[document.inserisciEvento.Azione.sel
ectedIndex].text == "Nuova Azione"){
   aa= document.createElement('input');
 
aa.name
= "nuovaAzione";
   aa.type= "Text";
  document.getElementById("nuovaAzione").appendChild(aa);
   }
}
</script>
<BODY>
 <form name ="inserisciEvento" action="insevent.asp" method = "post">
 <input name="giorno" type="hidden" value="14">
 <input name="mese" type="hidden" value="3">
 <input name="anno" type="hidden" value="2003">
 <input name="idrag" type="hidden" value="2">
 NUOVO EVENTO:<br>
 Ora:
 <select name= "ora">
  <option value=7>7
  <option value=8>8
  <option value=9>9
  <option value=10>10
  <option value=11>11
  <option value=12>12
  <option value=13>13
  <option value=14>14
  <option value=15>15
  <option value=16>16
  <option value=17>17
  <option value=18>18
  <option value=19>19
  <option value=20>20
  </select>
  :
 <select name= "minuti">
  <option value=0>0
  <option value=5>5
  <option value=10>10
  <option value=15>15
  <option value=20>20
  <option value=25>25
  <option value=30>30
  <option value=35>35
  <option value=40>40
  <option value=45>45
  <option value=50>50
  <option value=55>55
  </select>
  &nbsp;&nbsp;Azione
 <Select id="nuovaAzione" name= "Azione" onChange="CreaInput();">
 <option value=""> Scegliere azione
 <option value=1>Richiamare
 <option value=2>Appuntamento
 <option value=3>Fissare Appuntamento
 <option value=4>Preventivo in corso
 <option value=5>Fare Preventivo
 <option value=6>Nuova Azione
  </select>
    <br>
  <br>
   <table id = "descrizione">
  <tr>
  <td valign="top">Descrizione:</td>
  <td> <textarea name="Descrizione" rows=10 cols=50 ></textarea>
  </td>
  </tr>
   </table>
   <table width="367">
    <tr>
  <td align="center">
  <input type="submit" value="Inserisci appuntamento">
  </td>
  </tr>
  </table>
  </form>
 </body>
</html>

   document.getElementById("nuovaAzione").appendChild(aa);
Non succede nulla perche' tu aggiungi l'input come "figlio" di una 
select, ergo hai un codice del genere:
<select>
	<option>..</option>
	<option>..</option>
	<input>
</select>
Prova a fare un alert del innerHTML della pagina, spesso e' un buon 
metodo per il debug.
In ogni caso, per risolvere il tuo problema puoi provare con 
"insertBefore", prendendo come riferimento la form e decidendo prima a 
che oggetto vuoi inserire il tuo input. Ad esempio:
document.forms[0].insertBefore(aa,document.getElementById
("descrizione"));
O se specifichi un ID per la form:
document.getElementById("myForm).insertBefore(aa,document.getElementById
("descrizione"));
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 proprieta' name e type (vedi reference su MSN).
Mi sono mangiato una "D".. ehm. Intendevo MSDN.. ho preferito 
specificare perche' una cosa chiama MSN in effetti esiste ;P


 metodo per il debug.
Questo scusa, ma proprio non l'ho capito.
Oltre su MSDN, sai dove posso trovare una buona documentazione su queste
cose?

 cose?
Per JScript/IE, principalmente MSDN, mentre:
Per Javascript 1.2:
http://developer.netscape.com/docs/manuals/javascript.html
Per Javascript 1.5:
http://devedge.netscape.com/library/manuals/2000/javascript/1.5/guide/
http://devedge.netscape.com/library/manuals/2000/javascript/1.5/referenc
e
