Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di dalang
    Registrato dal
    May 2003
    Messaggi
    252

    Aggiornare select da popup

    Ciao,
    è possibile aggiungere elementi ad una select nella pagina parent da un popup?

    ho provato questo codice nel popup:
    codice:
    // Aggiungo un opzione ad una select
    function addOption(field, theSelect) {
        valore = field;
        newOption = new Option('pluto', 'pluto');
        theSelect.options[theSelect.length] = newOption;
        window.opener.document.newSlForm.elements['pippo'].options[1] = newOption;
    window.opener.document.newSlForm.elements['newSlFields[cliente]'].value =
     valore + theSelect.length + " " + theSelect.options[0].value;
    }
    nella pagina parent ho messo 2 select, una è quella passata con theSelect, l'altra si chiama 'pippo', entrambe per ora contengono solo 1 elemento, per cui dovrebbe aggiungere options[1]...

    nella javascript console di opera non mi da errori...

    i dati nel campo newSlFields[cliente] me li inserisce correttamente, ma non aggiunge l'elemento "pluto" alla select...
    dove sbaglio?

  2. #2
    considera che devi prima incrementare di uno la lunghezza dell'array options e poi aggiungere il nuovo elemento.

    ciao

  3. #3
    Utente di HTML.it L'avatar di dalang
    Registrato dal
    May 2003
    Messaggi
    252
    Grazie per la risposta, però:

    Originariamente inviato da var
    considera che devi prima incrementare di uno la lunghezza dell'array options e poi aggiungere il nuovo elemento.
    è quello che faccio con
    newOption = new Option('pluto', 'pluto');
    theSelect.options[theSelect.length] = newOption;

    ma ho scoperto che non si può fare direttamente dal popup...

    Comunque ho risolto con tre capriole, due avvitamenti e parecchie testate alla tastiera


    Praticamente:
    1) nel popup richiamo la funzione addOption;
    2) la funzione addOption ha n parametri che sono le options da aggiungere;
    3) nella pagina genitore (opener) metto una funzione addOption2 che riceve come parametro un'array di opzioni e le aggiunge realmente le opzioni (visto che non si può fare direttamente dal popup)
    4) in addOption (nel popup) richiamo window.opener.addOption2(vettore); che fa l'aggiornamento.
    5) fatto!!!
    :master:

    Semplice, no?

    ma si capisce quello che ho scritto?

    Comunque se a qualcuno interessa posso scrivere una mini-mini-pillola...


  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao a tutti,

    sono strani problemi di permessi
    ma pekké hai fatto 2 funzioni? Bastava lasciare la funzione che aggiunge le option nella opener e richiamare la funzione dalla popup

  5. #5
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Originariamente inviato da var
    considera che devi prima incrementare di uno la lunghezza dell'array options e poi aggiungere il nuovo elemento.

    ciao
    la lunghezza s'incrementa da sola

  6. #6
    Originariamente inviato da willybit
    la lunghezza s'incrementa da sola
    ossequi, mio signore.

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.