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

Discussione: form con doppio submit

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    107

    form con doppio submit

    ciao a tutti, mi trovo nella seguente situazione:

    ho un form il quale registra dei dati su un sito esterno. ho bisogno di inserire un secondo submit per far si che, in alcune situazioni, sia possibile salvare il form anche nel db locale. come potrei fare considerando che dovrei utilizzare 2 destinazioni diverse nel "<form action"?

  2. #2
    credo che tu debba usare javascript che "onclick" scateni l'azione desiderata
    comunque aspetta qualche opinione più autorevole
    nel frattempo puoi spulciare tra i post del forum javascript
    quasi sicuramente non sei il primo ad aver affrontato la questione

  3. #3
    Sicuramente avrai già trovato una soluzione, se così non fosse prova ad inserire più <form></form> nella pagina HTML.

    Es.
    <form name="form1" action="xxxxxxxxxx
    <input type="submit" name="xxxxxxx
    </form>

    <form name="form2" action="yyyyyyyyy
    <input type="submit" name="yyyyyy
    </form>

    Con i livelli sei più libero nella disposizione dei form, utilizzo WebSite e mi è capitato di crearne due affiancati con funzionalità diverse.

    P.S. la mia opinione non è da considerare autorevole

  4. #4
    Originariamente inviato da vitren54
    P.S. la mia opinione non è da considerare autorevole
    E non è probabilmente neanche la soluzione giusta, non mi sembra che voglia avere due form ma uno solo e inviare gli stessi dati ad una o due destinazioni a seconda dei casi.

    Velocemente, direi che dovrebbe fare uso di una chiamata AJAX nel caso in cui i dati li debba inserire anche nel DB locale, però serve sapere in quale momento si rende conto se i dati li deve memorizzare anche localmente.
    Forse può comunque effettuare la chiamata AJAX e il file chiamato si valuterà se i dati li deve memorizzare localmente o no.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    107
    grazie a entrambi.

    ha ragione partime, l'esempio di vitren non calza con ciò che devo fare: non devo avere 2 form ma 1 form con la possibilità di avere 2 action diversi.

    faccio un nuovo esempio:

    premendo submit si apre una popup con passaggio di parametri da inserire in un database (presente su un altro dominio) che restituisce un codice che funge da "ricevuta".
    in alcuni casi si rende necessario il salvataggio dei dati inseriti del medesimo form anche nel database locale. io vorrei poter disporre di un secondo bottone o link che salvi gli stessi campi del form già compilato, senza doverlo ricompilare, nel database locale.

    in modo molto rozzo mi verrebbe da fare:

    <form action="dominio_esterno">
    <form action="dominio_interno">
    <input type="text" value="dato_da_salvare">
    <input type="submit" value="submit_interno">
    </form>
    <input type="submit" value="submit_esterno">
    </form>

    secondo voi può funzionare? e anche se funzionasse, è una ciofeca/eresia a livello di codice o è tollerabile?

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    Originariamente inviato da l736k
    è una ciofeca/eresia a livello di codice ?
    tecnicamente parlando è semplicemente illegale

    puoi creare due submit con nomi diversi e differenziare la procedura a seconda del tasto premuto.
    il file di destinazione che elabora, in action, rimane lo stesso

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Vincent.Zeno
    tecnicamente parlando è semplicemente illegale
    Non capisco il tuo punto di vista... lo sarebbe se tentasse di modificare pagine di altri... ma se sono sue

    Non puoi usare due pulsanti di submit, usa un button ed una diversa finestra di destinazione

    <input type="button" value="Memorizza" onclick="f=this.form;f.action='tuapagina.php';f.ta rget='tuafinestra';f.submit()">

    Aggiungi alla fine le istruzioni per ripristinare action e target originali
    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
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    Originariamente inviato da br1
    Non capisco il tuo punto di vista...
    che qualcuno fraintendesse me lo aspettavo, ma non tu
    è squisitamente tecnico, un form dentro l'altro non può stare.
    è una procedura che i browser non contemplano, il server ho l'impressione che non sappia che fare, non è codice validabile
    dicesi illegale

    la soluzione da te proposta è buona, ma si possono anche usare due submit
    verifica questo (ho usato get così possiamo vedere il risultato in querystring):
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    
    <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
    <title>Senza nome 1</title>
    </head>
    
    <body>
    <%
    	if request("Submit1") <> "" then
    	response.write request("Submit1") & "
    "
    	response.write request("testo") & "
    "
    	end if
    	if request("Submit2") <> "" then
    	response.write request("Submit2") & "
    "
    	response.write request("testo2") & "
    "
    	end if
    %>
    
    <form action="" method="get">
    	<input name="testo" type="text">
    	<input name="testo2" type="text">
    	<input name="Submit1" type="submit" value="SUBMIT UNO">
    	<input name="Submit2" type="submit" value="SUBMIT DUE">
    </form>
    
    </body>
    
    </html>

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    107
    vincent, ti assicuro che non è in corso nulla di illegale. l'inserimento nel db di un altro dominio avviene già. mi serviva solo un modo per velocizzare l'eventuale salvataggio dei dati anche in un db locale senza dover ricompilare il form.

    nel tuo esempio o mi sfugge qualcosa o non c'entra con ciò che dovrei fare io: sono gli action che dovrebbero infatti cambiare nel mio caso.

    non credo di aver capito nemmeno l'esempio di br1 purtroppo...sorry

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    107
    forse ho trovato...mi viene in aiuto l'html5 con l'attributo "formaction"

    qui c'è la spiegazione: http://www.w3schools.com/html/html5_form_attributes.asp

    è compatibile con tutti i maggiori browser vedo quindi non dovrei aver problemi.

    nulla di illegale quindi a quanto pare

    faccio un po' di prove e se c'è qualche probl vi faccio sapere...grazie

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.