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

    Aggiornare Pagina da una PopUp

    Vorrei che da una pagina dove ho una tabella con delle righe (articoli x esempio), facendo click su una riga, si apra una popup per la modifica dei campi relativi alla riga, e salvando nella popup il record, nella popup, venga visualizzato l'esito del salvataggio,
    e in caso di salvataggio andatoa buon fine, nella pagina chiamante, la riga relativa al record modificato, venga aggiornata con i nuovi dati.

    Avete idee da suggerirmi?
    NB: il problema è solo la parte colorata, il resto ho già implementato tutto.

    skematizzando:

    codice:
    +---------------------------+
    |      Tabella              |
    |                           |   +------------+
    | !--!----!----!----------! |   | POPUP      |
    | !R1!Fld1!Fld2! Campo n  ! |   | Fld1       |
    | !--!----!----!----------! |   | Fld2       |  
    | !R2!Fld1!Fld2! Campo n  ! |   | Campo n    |
    | !--!----!----!----------! |   |            |
    +---------------------------+   | DatiSalvati| 
                                    +------------+ ora ke son salvati
                                                   aggiorno anche la pag
                                                   chiamante
    mamma mia quanto non capisco una ---- di javascript!!!


    grazie e alla prox
    Il mondo si divide in due categorie di persone: Coloro che hanno perso i dati ... e coloro che li perderanno!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Nella popup hai un form che invia i dati al programma sul server (che li modifica nel database); tale form invia alla popup una pagina di risposta.

    Ora la tua richiesta e` di modificare la tabella sulla pag madre DOPO il buon esito della modifica sul DB.

    Quindi la modifica la devi fare con uno script della popup, ma NELLA PAGINA DI RISPOSTA.

    In pratica la pagina di risposta deve contenere uno script di questo tipo:
    <script ...>
    window.opener.document.NOMEFORM.NOMECAMPO.value = "valore_da_inserire";
    ...
    </script>

    E` sottinteso che nella pag. madre i dati da modificare devono essere in un campo di tipo input (eventualmente non modificabile dall'utente)

    Spero di essere riuscito a farmi capire.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di Frankos
    Registrato dal
    Nov 2002
    Messaggi
    505
    Più o meno é quello che devo fare io, infatti ho postato una domanda simile ma solo per la prima parte :



    http://forum.html.it/forum/showthrea...hreadid=400734


    ma non capisco bene il funzionamento dell'istruzione

    window.opener.document.NOMEFORM.NOMECAMPO.value = "valore_da_inserire";

    Puoi darmi qualche dettaglio in più?

    Grazie
    ciao
    Sempre più in alto...
    www.webdition.com

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    window.opener.document.NOMEFORM.NOMECAMPO.value = "valore_da_inserire";

    window.opener.
    punta alla finestra che ha aperto quella dove e` lo script

    document.
    punta all'oggetto body presente nella finestra (se ci sono frame occorre inserire invece top.NOMEFRAME )

    NOMEFORM.
    Il nome del form presente nel documento

    NOMECAMPO .value = "...";
    Il nome del campo dentro quel form

    .value = "...";
    Il valore da scrivere dentro il campo (vale per text, textarea, hidden. Invece select, radio e checkbox vogliono sintassi diverse)

    Spero che fosse questo cio` che volevi

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it L'avatar di Frankos
    Registrato dal
    Nov 2002
    Messaggi
    505
    Si crdo proprio di si.
    Ora sono in chiaro, non sapevo si potesse fare una cosa del genere.

    Grazie come sempre

    Ciao
    Sempre più in alto...
    www.webdition.com

  6. #6
    PERFETTO!!!

    e io ke mi impazzivo facendo opener.campo.value...


    presumo che anziché utilizzare dei campi input, si possano utilizzare delle labels o + semplicemente è possibile assegnare un nome alle varie celle per accedervi da javascript??

    maurizio
    Il mondo si divide in due categorie di persone: Coloro che hanno perso i dati ... e coloro che li perderanno!

  7. #7
    Utente di HTML.it L'avatar di Frankos
    Registrato dal
    Nov 2002
    Messaggi
    505
    Ciao Archim3de, anch'io proprio in questo momento stavo lavorando a uno script del genere.
    Mich_ é stato utilissimo e chiarissimo.
    Anche a me funziona perfettamente.
    Un ultimo particolare da chiedere a Mich_ : quando mi ritorna alla pagina madre, il focus va sul campo successivo a quello modificato.
    C'é un modo per far si che si posizioni sul campo modificato?
    Il motivo é che io uso lo script che hai indicato per fare un controllo dell'esistenza di un esername nel database all'evento onBlur.
    Se io riuscissi a rimettere il focus su questo campo, in pratica potrei creare un ciclo immissione-controllo finché non immetto un username non esistente.

    Grazie
    Ciao
    Sempre più in alto...
    www.webdition.com

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Per Frankos
    Ogni oggetto campo ha un metodo focus, che serve per metterce il focus su quel campo.

    Quindi dopo aver scritto nel campo fai:
    .... .NOMECAMPO.focus();
    (con lo stesso percorso di oggetti davanti)


    Per Archim3de:
    Il codice con i campi e` universale (cioe` funziona in tutti i browser, a partire da NN3 e da IE3).

    Quello che chiedi (in pratica scrivere in un div) e` possibile farlo solo con browser a partire da
    NN4, IE5, N6+, IE6, Opera6, Mozilla, Konqueror (credo).

    Solo che in IE5 e IE5.5 la sintassi e` diversa che negli altri (IE6 accetta anche la sintassi "moderna"): document.all

    NN4 ha una sintassi diversa per i <div> (occorre usare i <layer> ).

    Per i browser recenti, invece, c'e` una sintassi universale (riconosciuta dal W3C) che fa uso di
    document.getElementById("ID_DELL'OGGETTO").innerHT ML

    La sintassi coni campi e` anche la piu` semplice; casomai ti consiglio di modificarne l'aspetto mediante i CSS (cosicche` non si veda che sono campi - lo si vede solo nei browser che non riconoscono quei CSS).

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Utente di HTML.it L'avatar di Frankos
    Registrato dal
    Nov 2002
    Messaggi
    505
    Thanks Mich_
    Sempre più in alto...
    www.webdition.com

  10. #10
    Scusate UPPO questa vecchia discussione perchè è proprio quello che stavo cercando...provato e funzionante... ma ho un problema correlato...

    pagina main con form:
    <form name=form1 ...
    <input name=pippo value=x ...

    da questa pagina apro una popup con funzione jscript:
    codice:
    function Do(tmp){
    window.opener.document.form1.pippo.value = 'tmp'; 
    }
    e vari link del genere:
    pippolo




    __________________________________________________ ____________

    Ora il mio problema è che gli input nella pagina madre li passavo tramite array... ovvero gli input nella pagina madre sono del genere:
    <input name="input[pippo]" value="1" type="text">
    <input name="input[pluto]" value="1" type="text">
    ...etc

    quindi la funzione js della poput sarà:
    codice:
    function Do(tmp){
    window.opener.document.form1.input[pippo].value = 'tmp'; 
    }

    Ma nn mi funzica.... Perchè?...
    Non si può fare o c'è un modo?...

    Qualcuno può aiutarmi plssss
    di js nn ci chiappo una fungia

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 © 2024 vBulletin Solutions, Inc. All rights reserved.