Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427

    errore "fieldObj is not define"

    Ho il seguente scriptche mi restituisce l'errore "fieldObj is not define" la riga di errore è segnata in neretto.
    Grazie.

    <script language="javascript" type="text/javascript">
    <!--

    function validatePax(fieldObj)
    {
    // Se il campo non è vuoto, ritorna true (ok)
    if (fieldObj.value.length > 0) return(true);

    alert("Il campo '" + fieldObj.name + "' è obbligatorio !");
    fieldObj.focus();

    return(false); // Errore
    }

    function validatePay(fieldObj){

    var tuttoButton = (fieldObj);
    for (i=0; i<tuttoButton.length; i++)
    {
    if (tuttoButton[i].checked){return true}
    }
    alert("E' obbligatorio Indicare la modalità di pagamento!");
    fieldObj[0].focus();
    return false;
    }


    function validateDove(fieldObj){
    var dove = (fieldObj);
    for (i=0; i<2; i++)
    {
    if (dove[i].checked){return true}
    }
    alert("E' obbligatorio Indicare dove spedire i documenti!");
    fieldObj[0].focus();
    return false;
    }

    function validateIndirizzo(fieldObj)
    {
    // Se il campo non è vuoto, ritorna true (ok)
    if (fieldObj.value.length > 0) return(true);

    alert("Il campo '" + fieldObj.name + "' è obbligatorio !");
    fieldObj.focus();

    return(false); // Errore
    }

    function enableAltAddress(fieldObj, flDisable)
    {
    fieldObj.nome_destinatario.disabled = flDisable;
    fieldObj.cog_destinatario.disabled = flDisable;
    fieldObj.indirizzo_destinatario.disabled = flDisable;
    fieldObj.localita_destinatario.disabled = flDisable;
    fieldObj.prov_destinatario.disabled = flDisable;
    fieldObj.cap_destinatario.disabled = flDisable;
    }

    function validateDocs(fieldObj){
    var dove = (fieldObj);
    for (i=0; i<2; i++)
    {
    if (dove[i].checked){return true}
    }
    alert("E' obbligatorio Indicare come ritirare i documenti!");
    fieldObj[0].focus();
    return false;
    }



    // Array con i dati per le validazioni
    var validateTypes = new Array(

    new Array(validatePax, "nomepax1", "cognomepax1","nomepax2","cognomepax2"),// Passeggeri
    <%if docs_corriere=true then%>
    new Array(validateDove,"Dove_spedire"));

    if (fieldObj.Dove_spedire[1].checked) {
    var validateTypes = new Array(
    new Array(validateIndirizzo,"nome_destinatario","cog_d estinatario",
    "indirizzo_destinatario","localita_destinatari o",
    "prov_destinatario","cap_destinatario"));
    }
    <%end if%>
    var validateTypes = new Array(
    new Array(validatePay,"tipopagamento"),
    <%if docs_corriere<> false then%>
    new Array(validateDocs,"documenti")
    <%end if%>
    );


    function validateForm(frmObj)
    {
    for ( var n = 0 ; n < validateTypes.length ; n++ )
    {
    var arr = validateTypes[n];

    for ( var m = 1 ; m < arr.length ; m++ ) if (!arr[0](frmObj[arr[m]])) return(false);
    }

    // Tutte le validazioni sono riuscite, abilita l'invio del FORM
    return(true);
    }

    // -->
    </script>

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Ciao, quando hai codice javascript/html misto a codice lato server, sarebbe meglio che postassi solo il codice html/javascript così come lo vedi tramite browser

    Ciao
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    codice js...


    codice:
    <script language="javascript" type="text/javascript">
    <!--
    
    function validatePax(fieldObj)
    {
    // Se il campo non è vuoto, ritorna true (ok)
    if (fieldObj.value.length > 0) return(true);
    
    alert("Il campo '" + fieldObj.name + "' è obbligatorio !");
    fieldObj.focus();
    
    return(false); // Errore
    }
    
    function validatePay(fieldObj){
    
    		var tuttoButton = (fieldObj);
    		for (i=0; i<tuttoButton.length; i++)
    			{
    			 if (tuttoButton[i].checked){return true}
    			}
    		alert("E' obbligatorio Indicare la modalità di pagamento!");
    		fieldObj[0].focus();  
    		return false;
    	}
    
    
    function validateDove(fieldObj){
    		var dove = (fieldObj);
    		for (i=0; i<2; i++)
    			{
    			 if (dove[i].checked){return true}
    			}
    		alert("E' obbligatorio Indicare dove spedire i documenti!");
    		fieldObj[0].focus();  
    		return false;
    	}
    
    function validateIndirizzo(fieldObj)
    {
    // Se il campo non è vuoto, ritorna true (ok)
    if (fieldObj.value.length > 0) return(true);
    
    alert("Il campo '" + fieldObj.name + "' è obbligatorio !");
    fieldObj.focus();
    
    return(false); // Errore
     }
    
    
    function enableAltAddress(fieldObj, flDisable)
    {
    fieldObj.nome_destinatario.disabled = flDisable;
    fieldObj.cog_destinatario.disabled = flDisable;
    fieldObj.indirizzo_destinatario.disabled = flDisable;
    fieldObj.localita_destinatario.disabled = flDisable;
    fieldObj.prov_destinatario.disabled = flDisable;
    fieldObj.cap_destinatario.disabled = flDisable;
    }
    
    function validateDocs(fieldObj){
    		var dove = (fieldObj);
    		for (i=0; i<2; i++)
    			{
    			 if (dove[i].checked){return true}
    			}
    		alert("E' obbligatorio Indicare come ritirare i documenti!");
    		fieldObj[0].focus();  
    		return false;
    	}
    
    
    
    
    
    // Array con i dati per le validazioni
    var validateTypes = new Array(
    							  
                   				  new Array(validatePax, "nomepax1", "cognomepax1","nomepax2","cognomepax2"),// Passeggeri 
                   				  
                   				  new Array(validateDove,"Dove_spedire"));
                   				  
                   				  if (Dove_spedire[1].checked)
      								{
    var validateTypes = new Array(
                   				  new Array(validateIndirizzo,"nome_destinatario","cog_destinatario",
                   				  							  "indirizzo_destinatario","localita_destinatario",
                   				  							  "prov_destinatario","cap_destinatario"));
                   				  }
    													
    var validateTypes = new Array(
                     			  new Array(validatePay,"tipopagamento"),
                     			  
                   				  new Array(validateDocs,"documenti")
                   				  
                   				  );  
                                  
                                 
    function validateForm(frmObj)
    {
      for ( var n = 0 ; n < validateTypes.length ; n++ )
        {
          var arr = validateTypes[n];
     
          for ( var m = 1 ; m < arr.length ; m++ ) if (!arr[0](frmObj[arr[m]])) return(false);
        }
     
      // Tutte le validazioni sono riuscite, abilita l'invio del FORM
      return(true);
    }
    
    // -->
    </script>
    codice html essenziale


    <FORM NAME="formname" METHOD="post" ACTION="xxx.asp" onsubmit="return(validateForm(this))">
    <input type="radio" value="1" name="Dove_spedire" onclick="enableAltAddress(this.form, true);">
    <input type="radio" value="2" name="Dove_spedire" onclick="enableAltAddress(this.form, false);">

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: errore "fieldObj is not define"

    Quella riga sta all'esterno di qualunque funzione... quindi fieldObj non e' definita ne' da un eventuale parametro e nemmeno come variabile globale.

    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 L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    grazie per la la tua disqusizione tecnica...

    ma come posso risolvere?

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Se il codice e' esterno alle funzioni viene eseguito appena ricevuto... e quindi prima ancora che il body e tutto il suo contenuto, compreso il form, esista.

    Devi individuare il momento in cui ti occorre valutare il contenuto del campo e racchiudere la prozione di script in una funzione... da richiamare nel momento in cui ti serve (per esempio tramite un evento)

    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

  7. #7
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    wow......

    ora ho capito tutto

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Scusa, ho valutato male la tua padronanza del linguaggio, mi ha tratto in inganno la relativa complessita' dello script postato... ma mi pare ora di capire che il codice che usi non e' tutto farina del tuo sacco

    Mi cimentero' non appena riusciro' a trovare una intera mezzora libera per capire la logica dello script e le funzionalita' richieste, ricavare il resto della pagina da quello che hai postato per poter provare le modifiche da apportare.

    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

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.