Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    Tasto annulla senza che venga eseguita la funzione javascript del form

    Ciao a tutti,
    ho un form con alcuni campi il pulsante ok e il pulsante annulla.
    sul form valido i dati lato client con una funzione javascript controlla() che posto di seguito.

    Quando premo Annulla voglio andare alla pagina home.php senza che venga richiamata prima la funzione controlla().

    Come si fa?
    Grazie 1000 a chi potrà rispondermi.

    Codice PHP:

    <form ENCTYPE="multipart/form-data" name="form1" method="POST" 
                          
    action="altrapagina.php" 
                          
    onSubmit="return controlla()">
    ... 
    i vari campi

       
    <input name="ok" type="submit" value="OK" />
                
        <
    button onclick="document.form1.action='home.php?';document.form1.submit();">Annulla</button
    la funzione js:



    Codice PHP:

              
    function controllaDati()
              {

                    if(
    document.form1.nome.value=="")
                    {
                          
    alert("Inserire il nome");
                          
    document.form1.nome.focus();
                          return 
    false;                
                    }        
                    
                    ... 
    controlli sugli altri campi come sopra che evito di riscrivere

                    
    return true;
              } 
    Guidino

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    sicuro di voler anche in questo caso inviare il form?

    altrimenti basta e avanza un self.location.href="nuovoIndirizzo.php"

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    altrimenti aggiungi
    document.form1.onsubmit=null;
    prima di document.form1.submit();

    ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Grazie della risposta.
    no. su click annulla non devo inviare il form.

    Ho risolto con :
    document.form1.onsubmit=null;
    al posto di prima di
    document.form1.submit();

    ... Però questo codice mi richiamava comunque la funzione js
    <button onClick="self.location.href='nuovoIndirizzo.php">A nnulla</button>


    Grazie.
    Guidino

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    a parte l' apice mancante, se lo scrivi cosi' deve funzionare
    <input type="button" onclick="self.location.href='nuovoIndirizzo.php'" value="Annulla" />

    <button> con alcuni browser implica il submit del form

    ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Grazie,

    Conosci una soluzione cross browser in modo che Annulla non richiami mai la funzione js?
    Guidino

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    quello che ho postato nell' ultimo messaggio

    ciao

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 © 2026 vBulletin Solutions, Inc. All rights reserved.