Ciao a tutti,
vorrei sapere se è possibile passare dei valori da un popup ad una listbox della pagina che chiama il popup, senza fare il refresh
Qualcuno conosce qualche link o mi sa spiegare il metodo?
Grazie,
Ciao a tutti,
vorrei sapere se è possibile passare dei valori da un popup ad una listbox della pagina che chiama il popup, senza fare il refresh
Qualcuno conosce qualche link o mi sa spiegare il metodo?
Grazie,
allora mettiamo che nella pagina che "genera" il pop-up ci sia il seguente codice:
<form name="pippoform">
<select name="pipposelect">
<option value="value1">value 1</option>
<option value="value2">value 2</option>
</select>
</form>
Se il pop-up è stato generato dalla pagina madre mediante javascript (window.open([...] ) e non, ad esempio, madiante un <a target="_blank" [...] puoi inserire nella finestra di pop-up la seguente funzione javascript:
function add_field (new_value, new_text ) {
with (window.opener.document.pippoform) {
pipposelect.length += 1;
pipposelect[pipposelect.length-1].Value = new_value;
pipposelect[pipposelect.length-1].text = new_text;
};
}
Come vedi in tutto questo le .net c'entrano poco. C'entra molto la potenza del javascript...![]()
![]()
Fammi sapere se funziona, ciao!
Lupo
----
ah, dimenticavo...
naturalmente la funzione add_field la devi associare ad un evento nella finestra di pop-up
ad esempio:
clicca qui per aggiungere un campo
di nuovo ciao!
Lupo
----
ma insomma quando lo togliete il link "membro junior" dal mio nick?!
Sono iscritto a questo forum praticamente da quando è nato... altro che membro junior!!!![]()
![]()
Lupo
----
Grazie funziona, però c'è un'altro problema.
Quando richiamo lo stesso popup mi cancella la vecchia selezione.
penso che facendo opener faccia il refresh della pagina e quindi mi pulisce la listbox
ma no!
...o forse ho capito male...
Io l'ho capita così:
hai una pagina con una listbox, ok?
Attraverso questa pagina apri mediante una chiamata javascript il pop-up (fai windows.open(bla bla bla) )
Nel pop-up ci sta la funzione javascript add_field che, ogni volta che viene chiamata, aggiunge un nuovo campo alla listbox della pagina, diciamo, "madre".
Se le cose stanno così allora la soluzione che ti ho mandato funziona egregiamente.
Opener non fa alcun refresh; facendo window.opener semplicemente "punti" alla pagina che ha "generato" la pagina nella quale effettui la chiamata.
Fammi sapere se sono stato chiaro, altrimenti di posto il codice delle due pagine (madre e figlia).
Ciao.
Lupo
----
si sei stato chiaro,
il problema è il seguente
ogni volta che richiamo il popup al posto di aggiungere una nuova riga nella listbox, mi ripulisce la listbox e mi aggiunge il nuovo campo.
Con la funzione che mi hai passato, dovrebbe aggiungere il nuoco campo senza ripulire la listbox, e non capisco perchè non funziona
mandami un po' di codice...altrimenti non so come aiutarti (ammesso che sia in grado di aiutarti, neh?)
Lupo
----
nell'evento click del bottone creo il javascript che mi hai passato, dove id e descrizione sono le 2 variabile
String scriptString = "<script language=JavaScript> {";
scriptString += "with (window.opener.document.form1) { ";
scriptString += "lbxOggetto.length += 1; ";
scriptString += "lbxOggetto[lbxOggetto.length-1].Value = " + id + "; ";
scriptString += "lbxOggetto[lbxOggetto.length-1].text = " + descrizione + ";";
scriptString += "};";
scriptString += "window.close();}";
scriptString += "</script>";
if(!this.IsClientScriptBlockRegistered("clientScri pt"))
this.RegisterClientScriptBlock("clientScript", scriptString);
spero che tu riesca ad aiutarmi, perchè sto sclerando