Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1

    Richiamare onchange da finestra popup

    Salve a tutti, vi presento il mio problema.
    In un form ho un menu a tendina contenente un elenco di progetti. All'onchange del menu è collegata una funzione che valorizza altri campi del form in base al progetto selezionato.
    Fin qui tutto ok...
    Il problema è sorto quando a fianco al menu a tendina ho inserito un link di ricerca (poichè il numero dei progetti contenuti nel menu è troppo elevato).
    Se clicco sul link si apre una finestra pop up, posso fare una ricerca di progetti e se clicco sul nome di un progetto, la finesta si chiude e nella opener viene selezionato il progetto che ho scelto.
    Però come faccio ad associare alla chiusura della finestra anche la funzione richiamata dall'onchange?
    Spero di essermi spiegata...
    tre fiorini!!!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Che sapia io non puoi, di fatti l'evento onchange si scatena solo al cambiamento effettivo* del della select.
    L'unica strada e scatenare l'evento direttamente dalla pop up.


    *Per effettivo intendo selezionare manualmente un valore diverso da quello visualizzato tra quelli disponibili.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    In effetti questo l'avevo intuito...ma il problema è che richiamo la stessa funzione (scatenata dall'onchange) nell'onclick sul nome del progetto.
    In pratica nell'onclick ho:
    1. funzione che seleziona il progetto nel menu a tendina (funziona)
    2. la funzione che dovrebbe riempire anche gli altri campi (non funziona)
    3. self.close (funziona)

    Ma non funziona... :-(
    tre fiorini!!!

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da ragnetta
    In effetti questo l'avevo intuito...ma il problema è che richiamo la stessa funzione (scatenata dall'onchange) nell'onclick sul nome del progetto.
    In pratica nell'onclick ho:
    1. funzione che seleziona il progetto nel menu a tendina (funziona)
    2. la funzione che dovrebbe riempire anche gli altri campi (non funziona)
    3. self.close (funziona)

    Ma non funziona... :-(
    Il popolamento degli altri campi e scatenato dal onlick?
    Se si restituisce degli errorri?
    Se si quali?
    I dati sono prelevati dalla popup o dalla pagina madre?
    Che browser?
    Visto che parliamo di ricerche e dati caricati presumibilmente da db hai qualcosa on-line?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Online non ho nulla...
    Sto testando su due browser: IE e Firefox.
    Ovviamente grazie alla consolle javascript di firefox posso capire il tipo di errore:
    La funzione richiamata con l'onclick (la stessa dell'onchange) genera questo errore:
    "mainSelection has no properties"

    In pratica non riconosce l'oggetto
    var mainSelection = document.getElementById("progettoNuovoIns");

    Dove progettoNuovoIns è proprio il menu a tendina della pagina padre:
    <select name="progettoNuovoIns" id="progettoNuovoIns" class="campoForm" onchange="populateFieldPrj();">
    tre fiorini!!!

  6. #6
    In pratica io credo che questo oggetto venga cercato nella finestra popup, ed ovvio che non lo trova!!...come se la funzione richiamata all'onclick, il sistema voglia farla eseguire nella finestra popup...

    Io invece dovrei dirgli qualcosa tipo:
    1. seleziona il progetto nel menu a tendina
    2. esegui la funzione MA NELLA PAGINA MADRE
    3. chiudi finestra pop up
    tre fiorini!!!

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    var mainSelection = opener.document.getElementById("progettoNuovoIns");

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Si va bè...il problema è che la stessa funzione può essere chiamata in modi diversi:
    Dalla pagina madre stessa...quindi darebbe errore su opener.document
    Dalla pop up...darebbe errore su document.getElementById("progettoNuovoIns") perche cercherebbe l'opener
    tre fiorini!!!

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    per selezionare la select cosi:

    window.opener.document.getElementById("progettoNuo voIns");

    per quanto concerne richiamare una funzione presente nella pagina madre operazione mai eseguita prova

    window.opener.populateFieldPrj()

    Ma non sono sicuro che funzioni.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    provo...
    tre fiorini!!!

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.