Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente bannato
    Registrato dal
    Nov 2004
    Messaggi
    241

    Aggiungere un evento onUnload al tag body

    Salve!

    ho una serie di pagine generate tramite asp, e quindi tutte (tramite degli include) condividono la stessa struttura

    Mi sto trovando nella situazione di dover inviare delle variabili, contenute in campi hidden, ad ogni cambiamento di pagina.
    Dato che non conosco molto javascript mi sono informato ed ho trovato che inserendo all'interno del tag body "onUnload="submit('form')" il problema si ri solve, se non fosse che il form che viene inviato non è presente in tutte le pagine e quindi in alcune genera un errore...


    c'è un modo per aggiungere la proprietà onUnload al tag body tramite uno script javascript?
    oppure è possibile far controllare alla funzione che invia le variabili se il form esiste?

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Prova con:

    onUnload="if(document.nomeForm) document.nomeForm.submit()"

    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

  3. #3
    Utente bannato
    Registrato dal
    Nov 2004
    Messaggi
    241
    ho provato ad aggirare il problema in un'altra maniera
    dato che uso degli include asp posso modificare solo il contenuto delle pagine e non la struttura, ho quindi inserito assieme al form questo codice javascript
    codice:
    <script language="JavaScript" type="text/JavaScript">
    
        function submitForm(idForm) {
          document.getElementById(idForm).submit();
        }
        document.body.onunload=submitForm('ciao');
    </script>
    naturalmente la form è presente e l'id è corretto, ma ugualmente non funziona! mi dice che document.getElementById(idForm).submit(); has no properties !

    in una pagina di prova ho verificato che inserendo la funzione all'interno del tag body con
    <body onUnload="submitForm('ciao')"> funziona perfettamente, quindi la funzione submitForm è corretta...


    è come se richiamando la funzione via codice la form non esistesse più... però com'è che se la richiamo da body funziona?
    :master:

  4. #4
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087
    dallo script non ho capito se "ciao" è l'Id della form,
    se così fosse perchè
    document.body.onunload=submitForm('ciao');
    lo tieni fuori da tutte le istruzioni? ... parentesi graffe. secondo me il browser non lo interpreta
    p.es
    codice:
       window.onunload = function() {
         if(document.getElementById()) {
            spedisci('ciao') } }  //ciao è l'Id della form
    
        function spedisci(id) {
         document.getElementById(id).submit();
        }
    prova così
    ciao

  5. #5
    Utente bannato
    Registrato dal
    Nov 2004
    Messaggi
    241
    mi da errore alla riga "if(document.getElementById())" dicendo che non ci sono sufficienti argomenti...

    comunque "ciao" è proprio il nome della form
    la prossima volta vedrò di essere più comprensibile

  6. #6
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087
    si ho sbagliato:
    if(document.getElementById) senza le parentesi ()

  7. #7
    Utente bannato
    Registrato dal
    Nov 2004
    Messaggi
    241
    GRAZIEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE!

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.