Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    8

    Reload della home page in seguito a chiusura del popup

    Ciao a tutti,
    ho un quesito:
    dalla home page ho un link che apre un popup. Nel popup uso un form per inviare dei dati via post che devono caricare un'altra pagina al posto della home page (il popup si chiude subito dopo).

    Nel popup ho questo script che fa il submit del form "modificacd", carica la nuova pagina, e chiude il pop up:

    function modificacd(code){
    window.opener.location='ModificaCd.jsp';
    window.close();
    document.forms.modificacd.codice_cd.value=code;
    document.forms.modificacd.submit();

    }

    <form name="modificacd" action="ModificaCd.jsp" method="post" target="_top">
    <input type="hidden" name="status" value="loggedOn"/>
    <input type="hidden" name="codice_cd"/>
    </form>

    la pagina ModificaCd.jsp viene caricata al posto della home, però sia status che codice_cd, arrivano due volte contemporaneamente: la prima hanno i valori corretti, la seconda hanno entrambi valore null, e ovviamente non consentono la visualizzazione corretta dei dati di ModificaCd.jsp.
    Quale può essere il problema?
    Grazie, ciao a tutti!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ci sono vari problemi: di sintassi e di logica.

    1. Ci sono due oggetti con lo stesso nome (un form ed una funzione): questo in JS non e` permesso.

    2. La funzione fa nell'ordine:
    - caricamento della pag. nella opener
    - chiusura finestra corrente
    - modifica di un campo della pagina corrente
    - invio del form della pag corrente
    Ora e` chairo che se la finestra vien chiusa, non puo` piu` fare le istruzioni successive (ma questo non e` vero per il browser IE, che si permette di correggere l'ordine delle istruzioni).

    3. L'oggetto forms del document e` una collezione: la sintassi cosi` e` errata. Soluzioni possibili:
    document.forms[0].submit();
    document.forms['modificacd'].submit();
    document.modificacd.submit();

    4. Non vedo dove venga chiamata la funzione, ma verosimilmente dopo aver inviato il form ritorna ed il form viene nuovamente inviato (non c'e` alcuno strumento che blocca la funzione dopo il ritorno).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.