Newsgroup: it.comp.lang.javascript
Titolo: Aggiornamento contenuto combobox in opener da popup

Ciao a tutti,
ho una pagina che permette di editare un record nella quale alcuni
campi sono delle combox.
Di fianco a ciscuna combo, c'è un link "+" che se premuto apre una
finestra popup nella quale è possibile editare la tabella associata
alla combo. Quando la finestra di popup viene chiusa, forzo un reload
della finestra chiamante con questo codice :
<a
href="javascript:window.close();window.opener.location.reload(true);">Chiudi
questa finestra</a>
per fare in modo che il contenuto della combo venga aggiornato.
L'evidente problema però è che se l'utente ha già riempito qualche
campo, durante il reload della pagina, quanto inserito viene perduto.
La soluzione che ho adottato per il momento (e che non mi piace per
nulla, e vorrei eliminare)  è di passare insieme al link i valori
attuali del form, registrarli nela popup e rispedirli indietro quando
questa viene chiusa, costruendo nuovamente la location dell'opener. Ma
la cosa non mi piace per nulla, è codice sporco.
Esiste qualche escamotage più elegante per risolvere questo problema ?
Grazie mille,
--
RaSca
rasc...@tiscali.it

 per fare in modo che il contenuto della combo venga aggiornato.
e perché non la aggiorni direttamente?
(su come svuotare e popolare una select cerca in rete che troverai un
fantastiliardo di esempi, sul come per il tuo specifico problema occorre
capire cosa vuol dire "editare la tabella associata", quali valori dovresti
aggiungere alla select, e se tali valori li hai nella popup oppure no.
-- 
"Non sai che ci vuol scienza
 ci vuol costanza
 ad invecchiare senza maturità"
									    F.G.

 aggiungere alla select, e se tali valori li hai nella popup oppure no.
Cerco, ma spero tu parli di popolamento dinamico vero ?
Ciao e grazie mille,
--
RaSca
rasc...@tiscali.it

 Cerco, ma spero tu parli di popolamento dinamico vero ?
sì
http://www.google.it/search?sourceid=navclient&aq=t&hl=it&ie=UTF-8&rls=GGLJ,GGLJ:2006-40,GGLJ:it&q=popolare+select+group%3ait%2ecomp%2elang%2ejavascript
(se hai tutti i dati non ti serve ovviamente quell'ajax di cui si parla,
per riferirti alla select: opener.document....)
-- 
"Ho smesso di fumare.
 Vivrò una settimana di più.
 E in quella settimana pioverà a dirotto"
									    W.A.

 per riferirti alla select: opener.document....)
[...]
Fantastico, la cosa funziona alla grande. Posto il codice che mi sono
creato, partendo dalla pagina contenente la select :
<html>
<head>
<title>Test select populate</title>
</head>
<body>
<form action="popup.html" name="test" method="POST" target="_blank">
<select name="elenco">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
<input type="submit">
</form>
</body>
</html>
e finendo con la pagina popup.html :
<html>
<head>
<title>Test select populate (POPUP)</title>
</head>
<body>
<input type="button"
onclick="javascript:window.opener.document.test.elenco.length = 0;
for(i=1;i<=10;i++)
{window.opener.document.test.elenco.options[window.opener.document.test.elenco.length
++] = new Option(i,i);} window.close();">
</body>
</html>
In questo modo basta conoscere il nome della form e della select
"chiamanti" per aggiornarle alla chiusura della popup.
Grazie mille Cristiano, se avessi cercato meglio subito ti avrei
risparmiato un paio di post.
Ciao !
--
RaSca
rasc...@tiscali.it