Visualizzazione dei risultati da 1 a 7 su 7

Discussione: ciclo while

  1. #1
    Utente di HTML.it L'avatar di Mike
    Registrato dal
    May 2002
    Messaggi
    423

    ciclo while

    Salve io ho questa condizione su onload:

    var elements = document.getElementsByTagName("input");
    i=0;
    while (elements[i]){

    ......istruzioni
    i++;
    }

    Il problema e' che su mozilla quando trova un campo non valorizzato (null) esce dal ciclo, mentre su explorer continua normalmente il ciclo ignorando i campi text nulli.

    C' e' un altro metodo per risolvere il quesito anche per mozilla? Grazie.
    Mike

  2. #2
    non so... ho fatto una prova veloce e non riscontro quanto dici.

    prova a fornire maggiori dettagli

  3. #3
    Utente di HTML.it L'avatar di Mike
    Registrato dal
    May 2002
    Messaggi
    423
    io ho provato anche questo e non funge:

    Codice PHP:
    var elements document.getElementsByTagName("input");

    for (
    i=0elements.lengthi++) { 
        
          if(
    elements[i].getAttribute('name').substr(elements[i].getAttribute('name').length-3,3)=="_DT")
          { 
            
            
    elements[i].onblur=function() {

              
    this.style.borderColor='#000000'
            
    this.style.backgroundColor='#FFFFFF';
                 
    valore=(this.value);
                  
    zx=elements[i];
            
    formatta_valore valore.replace(/\//g,""); // tolgo gli slash
                
    controlla=valore.substr(1,7);
    //            alert(parseInt(formatta_valore.substr(1,7)));
                  
    if((parseInt(valore.substr(0,1)) < 3) && (parseInt(valore.substr(1,7)) == controlla)){
                  
                     if(
    formatta_valore.length==8){    
                     
                        
    giorno=formatta_valore.substr(0,2);
                         
    mese=formatta_valore.substr(2,2);
                         
    anno=formatta_valore.substr(4,4);
                        
    this.value=giorno+"/"+mese+"/"+anno;

                }
              } 
        }
               
    elements[i].onfocus=function() {
             
    this.style.borderColor='#000000'
             
    this.style.backgroundColor='#A1E2FF';
           }; 
           }; 
       
    i++;       
        }   

    }
      
      
    window.onload =   formatta_dt
    mettendo gli alert, non appena var elements e' nullo il ciclo for termina!!!!
    Mike

  4. #4
    hai errori in console js?

    posta anche un po' di HTML, al limite. Per vedere come sono fatti gli input.

    (non e' che magari hai un link?)

  5. #5
    Utente di HTML.it L'avatar di Mike
    Registrato dal
    May 2002
    Messaggi
    423
    Codice PHP:
    <script type="text/javascript" src="Scripts/onload.js"></script>

    <FORM style="padding: 0px; top=0px;" name="frmEdit" method="POST" action="incl.php">
    <INPUT TYPE="hidden" NAME="ret_STRING" value="?module=accounts_lght&applettype=listview&recID=&schCITY=&schPROVINCE=&schTYPE=&Submit=Trova" />
    <INPUT TYPE="hidden" ID="MM_Insert" NAME="MM_Insert" value="OK" />
    <INPUT TYPE="hidden" ID="module"            NAME="module"            value="accounts_lght" />
    <INPUT TYPE="hidden" ID="applettype"        NAME="applettype"        value="editview" />
    <INPUT TYPE="hidden" ID="record"            NAME="record"            value="0" />
    <INPUT TYPE="hidden" ID="ID"                NAME="ID"                value="f54b5828-55ef-102b-8bcf-0015c54cc6b5" />
    <INPUT TYPE="hidden" ID="UPDATED"           NAME="UPDATED"           value="" />
    <INPUT TYPE="hidden" ID="ret_module"        NAME="ret_module"        value="accounts_lght" />
    <INPUT TYPE="hidden" ID="ret_applettype"    NAME="ret_applettype"    value="listview;?>" />

    <INPUT TYPE="hidden" ID="ret_record"        NAME="ret_record"        value="" />
    <INPUT TYPE="hidden" ID="MM_Delete"         NAME="MM_Delete"         value="" />

    <TABLE cellspacing=0 cellpadding=0 width="100%">

        <TR>
            <TD>
          
        <TABLE width="100%" class="clsEditDetail" cellspacing="0" cellpadding="0" border="0">

                        <TR>
            <TD colspan="4">
            <TABLE width="100%" class="clsEditDetailNoBord" cellspacing="0" cellpadding="0" bordercolor="white">

            <INPUT TYPE="HIDDEN" ID="oldedtLST_NAME" NAME="oldedtLST_NAME" Value="">
            <INPUT TYPE="HIDDEN" ID="oldedtBIRTH_DT" NAME="oldedtBIRTH_DT" Value="">

                    <TR>
                        <TH width="20%" height="2%">Cognome<SPAN class="clsRequired">*</SPAN></TH>
                        <TD width="30%" height="48%"> <INPUT  TYPE="TEXT"  SIZE="50"  ID="edtLST_NAME" NAME="edtLST_NAME" value="" > </TD>
                        <TH height="25%">Nome<SPAN class="clsRequired">*</SPAN></TH>

                            <TD height="*"> <INPUT  TYPE="TEXT"  SIZE="50"  ID="edtFST_NAME" NAME="edtFST_NAME" value="" > </TD>
                    </TR>

            <INPUT TYPE="HIDDEN" ID="oldedtFST_NAME" NAME="oldedtFST_NAME" Value="">
            <INPUT TYPE="HIDDEN" ID="oldedtBIRTH_PLACE" NAME="oldedtBIRTH_PLACE" Value="">
                    <TR>
                        <tH height="20%">Data nascita</th>
                            <td height="30%">

                             <table cellspacing="0" cellpadding="0" border="0" >
                            <tr>
                              <td><input  onfocus="this.click();" type="text" id="edtBIRTH_DT" name="edtBIRTH_DT" value="" /></td>
                              <td>[img]./Styles/main_orange/Images/calendar.gif[/img]</td>
                              <script>addCalendar("edtBIRTH_DT","trgBIRTH_DT");</script>
                            </tr>
                            </table>                        </td>
                        
                            <TH height="25%">Nato a</TH>

                            <TD height="*"> <INPUT  TYPE="TEXT"  SIZE="30"  ID="edtBIRTH_PLACE" NAME="edtBIRTH_PLACE" value="" > </TD>
                    </TR>
        </table>
    ecc...
    </form> 
    dentro onlad.js carico la funz. come descritto;
    Mike

  6. #6
    a parte un

    i++;

    che a questo punto non c'entra piu'

    a me passa per tutti gli input.

    Poi assegna (giustamente) l'onblur solo all'input di nome

    trgBIRTH_DT

    che e' l'unico input visibile che finisca con "_TD" e che possa avere un blur

    poi c'e' quel addCalendar() che non so cosa faccia e che potrebbe fare interferenza ma non avendo la funzione....


    comunqeu prova a fare un

    codice:
    for (i=0; i < elements.length; i++) 
        {
          alert(i);
    per vedere se cicla tutti gli input o no

  7. #7
    Utente di HTML.it L'avatar di Mike
    Registrato dal
    May 2002
    Messaggi
    423
    L'errore ce l'ho sicuramente io, infatti ho fatto una prova di quello che ti ho scritto e funziona bene.....
    devo cercare altrove e risolvere il probl.... Comunque grazie..
    Mike

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.