Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    18

    passaggio variabili da popup

    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,

  2. #2
    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
    ----

  3. #3
    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
    ----

  4. #4
    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
    ----

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    18
    Grazie funziona, però c'è un'altro problema.
    Quando richiamo lo stesso popup mi cancella la vecchia selezione.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    18
    penso che facendo opener faccia il refresh della pagina e quindi mi pulisce la listbox

  7. #7
    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
    ----

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    18
    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

  9. #9
    mandami un po' di codice...altrimenti non so come aiutarti (ammesso che sia in grado di aiutarti, neh?)
    Lupo
    ----

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    18
    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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.