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

    Funzione dentro funzione

    La filosofia di questo post e'

    Sto cercando di richiamare una funzione di controllo dentro un'altra funzione. La cosa "funziona", ma resetta i valori dei campi, cosa che vorrei evitare.

    codice:
    function Quick(){
    if(Controlla() == false){
      document.euroform.action = "action.asp;
      document.euroform.target = "_top";
      document.euroform.submit();
      }
    }
    codice:
    function Controlla(){
    
    var campo;
    var titolo=document.euroform.titolo.value; 
    var testo=document.euroform.testo.value;
    
    var errore=''; 
    
    if (titolo==''){ 
    errore=errore+'Titolo\n';
    campo=document.euroform.titolo; 
    } 
    if (testo==''){ 
    errore=errore+'Testo\n';
    if (!campo) campo=document.euroform.testo;
    } 
    // -----------------------------------------
    // stringa per controllo
    // -----------------------------------------
    if (errore!=''){ 
    alert('Devi compilare\n'+errore); 
    campo.focus();
    return true;
    }
    }
    Cos'e' che sbaglio???
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    perchè controlli quando è FALSE?

    setta i vari return true o false in base ai responsi dei controlli...

  3. #3
    Originariamente inviato da Dennis
    perchè controlli quando è FALSE?
    E cosa dovrei controllare? Ho anche provato con "" ma e' uguale...


    setta i vari return true o false in base ai responsi dei controlli...
    Uhm... lo faccio alla fine della funzione Controlla()
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    beh, io per natura controllerei se è true :-) cmq nn cambia niente. proviamo così:

    <script>
    function Quick(){
    if(Controlla()){
    document.euroform.action = "action.asp;
    document.euroform.target = "_top";
    document.euroform.submit();
    }
    }

    function Controlla(){

    var campo;
    var titolo=document.euroform.titolo.value;
    var testo=document.euroform.testo.value;

    var errore='';

    if (titolo==''){
    errore=errore+'Titolo\n';
    campo=document.euroform.titolo;
    }
    if (testo==''){
    errore=errore+'Testo\n';
    campo=document.euroform.testo
    }
    if (errore!=''){
    alert('Devi compilare\n'+errore);
    campo.focus();
    return false;
    }
    else{
    return true;
    }
    }
    </script>

  5. #5


    Allora, Sia prima che ora succede questo:

    se un campo e' mancante, restituisce il prompt con l'errore, ma se clicco ok, la form viene resettata ai valori inziali... perdo tutte le modiifche quindi.

    Se tutti i campi sono ok, la form viene resettata ugualmente, mentre l'action non funziona in nessun caso... ma in cosa sbaglio??
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

  6. #6
    Reale_Augello
    Guest

    Potresti...

    ... provare così:

    codice:
    function Controlla(){
    
    var campo;
    var titolo=document.euroform.titolo.value; 
    var testo=document.euroform.testo.value;
    
    var errore=''; 
    
    if (titolo==''){ 
    errore=errore+'Titolo\n';
    campo=document.euroform.titolo; 
    } 
    if (testo==''){ 
    errore=errore+'Testo\n';
    if (!campo) campo=document.euroform.testo;
    } 
    // -----------------------------------------
    // stringa per controllo
    // -----------------------------------------
    if (errore!=''){ 
    alert('Devi compilare\n'+errore); 
    campo.focus();
    return false;
    }
    return true;
    }
    Mentre l'altra funzione:

    codice:
    function Quick(){
    if(Controlla()){
      document.euroform.action = "action.asp";
      document.euroform.target = "_top";
      document.euroform.submit();
      }
    }
    Dovrebbe andare.

  7. #7
    Non c'e' una faccina che si genuflette?

    Ora va, ma nel caso incontri un errore resetta la form! Che e' terribile.

    Questa funzione funziona se le unisco...


    if (errore!=''){
    alert('ATTENZIONE!\n'+errore);
    campo.focus();
    return true;
    }else{
    document.mioform.action = "demo_add.asp";
    document.mioform.target = "_top";
    document.mioform.submit();
    }
    }

    ma ora devo assolutamente avere una funzione per il controllo e molte per l'action...
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

  8. #8
    Reale_Augello
    Guest

    A me...

    ... non resetta nulla...

  9. #9
    Augello...

    ... il mio button era un submit... essendo l'action # ovviamente... ecco, i JS dopo le tue correzioni funziona benissimo, la mia attenzione meno.

    Finita la partita inizio a disegnare la faccina che si genuflette, nel frattempo mi genufletto io.

    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

  10. #10
    Reale_Augello
    Guest

    ...

    Originariamente inviato da Mutato
    Augello...

    ... il mio button era un submit... essendo l'action # ovviamente... ecco, i JS dopo le tue correzioni funziona benissimo, la mia attenzione meno.

    Finita la partita inizio a disegnare la faccina che si genuflette, nel frattempo mi genufletto io.

    Succede anche ai migliori !

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.