Newsgroup: it.comp.lang.javascript
Titolo: Refresh campo aggiorna db

Ho questo problema: ho una form e un campo slect che prende dati da un
db al suo fianco c'č un tasto per aggiungere altri campi al db ma dopo
aver aggiunto un campo per vederlo devo fare il refresh di tutto il
form e perdo tutti gli altri dati. Ho provato ad inserire questo
script nel mio popup:
<script>
// CERCO IL PUNTO IN CUI INSERIRE LA NUOVA VOCE
newIndice = window.opener.document.all.tipfax.length + 1
// CREO LA NUOVA OPTION IN CUI INSERIRE LA VOCE
window.opener.document.all.tipfax.options[newIndice] = new Option("")
// INSERISCO TESTO
window.opener.document.all.tipfax[newIndice].text =
document.all.testo.value
// INSERISCO VALORE
window.opener.document.all.tipfax[newIndice].value =
document.all.valore.value
// LO METTO COME SELEZIONATO
window.opener.document.all.tipfax.selectedIndex = newIndice
// CHIUDO LA POPUP
self.close() 
</script>
Ma mi da errore ( cioč mi dice che vuole un eccezione, l'ho inserita
con try and catch ma non mi esegue il try e va direttamente al catch)
POtete aiutarmi??
GRAZIE

 script nel mio popup:
[CUT]
Quello che hai scritto č proprietario di IE, un obbrobrio...
su 
jsdir.com
 trovi come inserire nuovi option in una select nel modo
corretto
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.
--

 corretto
Ma probabilmente non risolvono il problema.
Qualche tempo fa Marco Balestra mi ha dato un suggerimento per 
aggiungere una option con IE senza svuotare e riempire completamente la 
lista.
Un giorno riuiscirò a scrivere due righe per una FAQ, comunque:
"normalmente" per una nuova option basterebbe:
var sel=document.nomeform.nomeselect;
sel.options[sel.length]=new Option("value","text");
IE pero' solleva un'eccezione (almeno IE4, IE5, IE5.5).
Marco mi ha suggerito:
var sel=document.nomeform.nomeselect;
sel.length++;
sel.options[sel.length-1].text="Testo";
sel.options[sel.length-1].value="Valore";
In sostanza aumentare al volo la lunghezza ed assegnare text e value 
separatamente.
Per quel che ho potuto provare funziona bene (anche su Moz/N4).
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
  ---- Bring Your Site To Life!!!!
http://www.wmtools.it
 ---- WebMasterTools - Servizi per il tuo sito
http://www.dev2dev.it
 ---- La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
Per rispondere: togli i PUNTO .

 IE pero' solleva un'eccezione (almeno IE4, IE5, IE5.5).
"Ma cosa diavolo stai dicendo Willis?"
Al di la' del fatto che mi sembra strano che un codice del genere sollevi
un' "eccezione" anche su versioni vetuste di IE; almeno sulla versione 5.5
sono sicuro che non crea alcun problema.
-- 
ZER0://coder.gfxer.web-designer/
~ Una mente perversa e' un peccato sprecarla.
(A dirty mind is a terrible thing to waste)
on air ~ "Final Fantasy X - Opening Theme"

 sono sicuro che non crea alcun problema.
Condivido la tua perplessita', ma e' esattamente cio' con cui ci siamo 
confrontati con il Balestra qualche tempo fa e che ho ritrovato pochi 
giorni or sono in una richiesta via e-mail.
C'e' un "pero'" comunque: forse non l'ho sufficientemente enfatizzato, 
ma l'eccezione viene sollevata quando cerchi di *aggiungere ad una lista 
pre-esistente senza prima svuotarla*.
In uno script di questo tipo:
with (document.modulo.output)
  {
  while (options.length > 0)
    options[0]=null; 
  for (i=0;i<prov[source].length;i++)
   options[i]=new Option(prov[source][i],sigle[source][i])
  options.selectedIndex=0;
  }
 
tutto fila liscio, ma se vuoi solamente aggiungere nisba.
Marco mi faceva addirittura notare che in alcune situazioni si piantava 
IE ed in altre (Win98) bisognava proprio riavviare.
E di prove ne ha fatte perche' lavorava ad una roba abbastanza grosso 
per un'organizzazione internazionale.
In attesa di trovare un po' di tempo per sperimentare, non posso fare 
altro che riportare quel che so finora :-)


 per un'organizzazione internazionale.
Ho appena testato su diverse versioni di IE5.5, alcuni su Windows XP e
altri su Windows 2000; nessuno di loro presenta un'anomalia del genere.
-- 
ZER0://coder.gfxer.web-designer/
~ I feel like I'm diagonally parked in a parallel universe.

 Succedeva anche con la 6, e a dirla tutta anche con Safari.
Mi sono sentito con Riccardo al telefono, ed era errato il contesto in cui
aveva posto il codice. Infatti quel codice non genera errori, lo fa solo
nel caso in cui si tenti di creare un'oggetto option da una finestra
diversa rispetto a quella in cui vogliamo inserirlo; questo "dettaglio" era
stato omesso.
Tale comportamento inoltre, era gia' stato osservato nel NG qualche tempo
fa, ad un thread nel quale partecipasti anche tu.


 ah si`? :-P
Essi'. :P
-- 
ZER0://coder.gfxer.web-designer/
~ ..ma in effetti il concetto di WYSYWYG (quello che vedi e' quello che
ottieni)
si applica ai computer malissimo, cosi' come si applica alle donne...
(The Real Programmer)