Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Conferma modulo/link

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    44

    Conferma modulo/link

    Studiare Javascipt è al secondo punto nella lista delle mie priorità, ma per il momento mi tocca impazzire...

    Mi serve creare una finestra di conferma salvataggio per un modulo di aggiornamento testi da web. Ho messo insieme la funzione che segue ma ho due problemi.
    1 - Se rispondo "no" alla domanda viene eseguito il finto ancoraggio e mi ritrovo a inizio pagina.
    2 - Se rispondo "si" vengono spedito alla pagina aggiorna ma perdo tutti i dati post del form da cui è richiamata.

    function confermaSalva() {
    var a
    a=confirm("Salvando le modifiche i dati precedenti andranno persi! Salvare?");
    location.href=(a ? "../aggiorna.asp": "#");
    return false;
    }

    Probabilmente devo proprio cambiare strada. Se qualcuno fosse così gentile da darmi qualche indicazione...

    Grazie.
    Non sei veramente finito fino a quando hai una buona storia da parte e qualcuno a cui raccontarla!

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    devi spedire un form
    function confermaSalva() {
    if (confirm("Salvando le modifiche i dati precedenti andranno persi! Salvare?"))
    document.nome_form.submit();
    else
    location.href = "#";
    return false;
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    44
    Adesso sembra talmente banale... Ti ringrazio molto.

    Non vorrei esagerare, ma per il problema del finto ancoraggio che mi spedisce ad inizio pagina non si può fare proprio nulla?

    La funzione la richiamo da evento onsubmit su bottone submit del form.
    Non sei veramente finito fino a quando hai una buona storia da parte e qualcuno a cui raccontarla!

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non puoi associare l'evento onsubmit al bottone submit... deve essere associato direttamente al form.

    Per un consiglio mirato occorrerebbe sapere come e' fatto il link, comunque ti presento un esempio fra i piu' frequenti:

    <a href="#" onclick="document.nome_form.submit();return false">

    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    44
    Pardon, è stato un lapsus, l'evento è onclick (ovviamente).

    Per evitare il rimando all'ancoraggio potrei togliere l'else dalla funzione e trasformare il tasto submit in un tasto normale?

    function confermaSalva() {
    if (confirm("Salvando le modifiche i dati precedenti andranno persi! Salvare?"))
    document.form1.submit();
    return false;
    >> else
    >> location.href = "#";
    return false;
    }

    <input name="Conferma" type="button" id="Conferma" value="Salva modifiche" onclick="return confermaSalva();" />
    Non sei veramente finito fino a quando hai una buona storia da parte e qualcuno a cui raccontarla!

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    44
    Non ci sono ancora...

    Se trasformo il bottone submit in un bottone normale non esegue nulla nè in caso di annulla nè in caso di conferma. Ma in caso di conferma ho la segnalazione di errore.

    Continuo a cercare qualche informazione.
    Non sei veramente finito fino a quando hai una buona storia da parte e qualcuno a cui raccontarla!

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    44
    Adesso si!

    Nelle preziosissime guide presenti su questo sito ho trovato qualcosa che ho sistemato così.

    function confermaSalva() {
    var annulla=(window.confirm("Salvando le modifiche i dati precedenti andranno persi! Salvare?"))
    if (annulla) {
    document.form1.submit();
    }
    else {
    return annulla;
    }
    }


    <form action="../aggiorna.asp" method="post" name="form1" class="corpo13g" id="form1" onsubmit="return confermaSalva()">

    Tenendo conto del consiglio di BR1 ho richiamato la funzione dall'evento "onSubmit" nel tag form anziché dall'evento "onClick" nel tag Button/Submit.

    Giusto per curiosità, per cercare di imparare e capire, qualcuno sapremme spiegarmi il perché?

    Ciao e grazie.
    Non sei veramente finito fino a quando hai una buona storia da parte e qualcuno a cui raccontarla!

  8. #8
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    un form si spedisce con la pressione di un tasto submit ma anche con la pressione del tasto invio se il cursore è in un campo di testo

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    44
    Perché l'invio viene interpretato dal sistema come un click sul bottone submit, che è il bottone predefinito. Ma credo funzioni solo esiste nel form un bottone submit...

    Detto ciò non capisco il nesso; forse il mio questito non era molto chiaro.
    Mi domandavo perché questo funziona:


    <form action="../aggiorna.asp" method="post" name="form1" class="corpo13g" id="form1" onsubmit="return confermaSalva()">
    [...]
    <input name="Submit" type="submit" id="Submit" value="Salva modifiche" />
    </form>


    e questo no:


    <form action="../aggiorna.asp" method="post" name="form1" class="corpo13g" id="form1">
    [...]
    <input name="Submit" type="submit" id="Submit" value="Salva modifiche" onclick="return confermaSalva()"/>
    </form>


    se la funzione richiamata è la stessa:


    function confermaSalva() {
    var annulla=(window.confirm("Salvando le modifiche i dati precedenti andranno persi! Salvare?"))
    if (annulla) {
    document.form1.submit();
    }
    else {
    return annulla;
    }
    }


    Spero di non annoiarti con i miei quesiti da semi-ignorante...

    Ciao.
    Non sei veramente finito fino a quando hai una buona storia da parte e qualcuno a cui raccontarla!

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.