Visualizzazione dei risultati da 1 a 7 su 7

Discussione: 2 submit stesso form?

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    536

    2 submit stesso form?

    Ciao

    E' possibile inserire 2 submit per lo stesso form?
    Vi spiego cosa dovrei fare.

    L'utente inserisce dei dati in un form. Con gli stessi dati può compiere 2 operazioni.
    Una che salva semplicemente i dati e lo riporta alla pagina principale.
    L'altra operazione invece oltre a salvare i dati lo reindirizza alla stessa pagina con lo stesso form ma con i campi con gli stessi dati già inseriti (in modo che possa fare una semplice modifica e caricare un nuovo record solo con quel dato modificato in modo da poter velocizzare le operazioni e non inserire di nuovo tutti i dati per creare un nuovo record quasi identico).
    Mi è stato richiesto espressamente dall'utente.

    Io avevo pensato a inserire nel form 2 button con javascript che indirizzano a 2 funzioni (o pagine) differenti (anche se simili di fatto) oppure a un checkbox del quale la funzione che riceve i dati controlli se è spuntato o meno (if..else ecc ecc) e avvii una procedura differente.

    Voi cosa mi consigliate di fare?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    si è possibile

    togli action dalla form e metti 2 bottoni

    <input type="button" value="Invia1" onClick="invio1()">
    <input type="button" value="Invia2" onClick="invio2()">

    e poi ti scrivi le relative funzioni javascript invio1 e invio2

    function invio1()
    {
    document.namemodulo.action = "pagina1.php";
    document.namemodulo.submit();
    }
    function invio2()
    {
    document.namemodulo.action = "pagina2.php";
    document.namemodulo.submit();
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    536
    Originariamente inviato da bstefano79
    si è possibile

    togli action dalla form e metti 2 bottoni

    <input type="button" value="Invia1" onClick="invio1()">
    <input type="button" value="Invia2" onClick="invio2()">

    e poi ti scrivi le relative funzioni javascript invio1 e invio2

    function invio1()
    {
    document.namemodulo.action = "pagina1.php";
    document.namemodulo.submit();
    }
    function invio2()
    {
    document.namemodulo.action = "pagina2.php";
    document.namemodulo.submit();
    }
    ok.

    Ma se volessi invece inviare alla stessa pagina ma richiamare 2 funzioni differenti?
    Adesso nel form richiamo la funzione così:

    Codice PHP:
    ...........
    <
    form name="myform" action="scadenze.php" method="post">
    <
    input type="hidden" name="task" value="upload">
    ....... 
    che invia a uno switch che richiama la funzione upload.
    Vorrei inviare alla stessa pagina ma a upload2 diciamo.

    Grazie

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    potresti definire le funzioni in questo modo e recuperare quale funzione vuoi fare con una Get

    function invio1()
    {
    document.namemodulo.action = "pagina.php?funzione=f1";
    document.namemodulo.submit();
    }
    function invio2()
    {
    document.namemodulo.action = "pagina.php?funzione=f2";
    document.namemodulo.submit();
    }

  5. #5
    Una cosa del genere potrebbe funzionare, partendo fa codice che ti ha già fornito bstefano79:

    Codice PHP:
    ...
    <
    form name="myform" action="scadenze.php" method="post">
    <
    input type="hidden" name="task" value="upload"
    ...

    <
    input type="button" value="Invia1" onClick="invio1()">
    <
    input type="button" value="Invia2" onClick="invio2()">

    function 
    invio1() {
        
    document.myform.task.value "upload1"
        
    document.myform.submit();
    }

    function 
    invio2() {
        
    document.myform.task.value "upload2"
        
    document.myform.submit();

    In pratica assegni dinamicamente il valore del parametro hidden task e nella pagina scadenze.php lo recuperi ed in base al suo valore effettui le scelte oppurtune.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    536
    si,
    intanto avevo scritto questo:


    codice:
    function invio1()
    {
    document.namemodulo.action = "pagina.php?task=upload";
    document.namemodulo.submit();
    }
    function invio2()
    {
    document.namemodulo.action = "pagina.php?task=upload2";
    document.namemodulo.submit();
    }
    nello switch:

    Codice PHP:

    switch($_REQUEST['task']) {
    case 
    'elenco':
          
    elenco();
            break;
    case 
    'upload':
          
    upload();
            break;
    case 
    'upload2':
          
    upload2();
            break;

    ............... 

    E' la stessa cosa?

    Grazie

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    536
    Originariamente inviato da satifal
    Una cosa del genere potrebbe funzionare, partendo fa codice che ti ha già fornito bstefano79:

    Codice PHP:
    ...
    <
    form name="myform" action="scadenze.php" method="post">
    <
    input type="hidden" name="task" value="upload"
    ...

    <
    input type="button" value="Invia1" onClick="invio1()">
    <
    input type="button" value="Invia2" onClick="invio2()">

    function 
    invio1() {
        
    document.myform.task.value "upload1"
        
    document.myform.submit();
    }

    function 
    invio2() {
        
    document.myform.task.value "upload2"
        
    document.myform.submit();

    In pratica assegni dinamicamente il valore del parametro hidden task e nella pagina scadenze.php lo recuperi ed in base al suo valore effettui le scelte oppurtune.
    OK. Va bene pure questa.

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.