Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184

    Catturare Valore di un INPUT Text

    this.options[this.selectedIndex].value
    Questo serve per catturare il valore di una opzione di una select,
    per catturare invece il valore in quel momento di una - INPUT TYPE = "TEXT" - ?


    In Javascript sono una rapa, solo Internet mi aiuta!!

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao kekkosf,

    una delle sintassi è
    codice:
    document.NomeForm.NomeText.value
    se il codice lo metti in un evento dell'input puoi usare il this
    codice:
    <input type="text" name="NomeText" onchage="alert(this.value);">

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184

    Praticamente

    c'ero arrivato, solo che bisognava mettere nell'Input anche il VALUE.
    Adesso ti pongo il quesito successivo.

    Devo controllare una data, pertanto ho realizzato questo js :

    function dataPrg(data,campo,mform)
    {
    var adesso = new Date(data);
    var anno = adesso.getFullYear();

    if ((data.length != 8) && (data.length != 6))
    {
    newdata = '01/01/'+anno;
    alert('Formato data irregolare');
    }

    if (data.length == 6)
    {
    newdata = data.substr(0,2)+'/'+data.substr(2,2)+'/'+anno.substr(0,2)+data.substr(4,2);
    }

    if (data.length == 8)
    {
    newdata = data.substr(0,2)+'/'+data.substr(2,2)+'/'+data.substr(4,4);
    }

    document.mform.campo.value = newdata;
    }



    Dopo di che nella form(skecon) ho creato delle caselle di Input così :
    da <INPUT TYPE="Text" Name="Da" MAXLENGTH="6" VALUE = "" Size="7"
    style="background:#99CCFF;color:#0066FF;font-family:Verdana"
    ONBLUR = "dataPrg(this.value,'skecon,'Da')">


    Per quale cavolo di motivo non funziona ?

    In Javascript sono una rapa, solo Internet mi aiuta!!

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367

    Re: Praticamente

    Originariamente inviato da kekkosf
    c'ero arrivato, solo che bisognava mettere nell'Input anche il VALUE.
    anche senza value nell'input funzionerebbe... solo che ho scritto onchage invece di onchange

    per quanto riguarda il nuovo script ci sono un po' di cose che non vanno
    te lo sistemo un po'
    codice:
    function dataPrg(data,campo,mform)
    {
        var adesso = new Date();
        var anno = ''+adesso.getFullYear();
    
    
        if ((data.length != 8) && (data.length != 6))
        {
            newdata = '01/01/'+anno;
            alert('Formato data irregolare');
        }
    
            if (data.length == 6)
            {
                newdata = data.substr(0,2)+'/'+data.substr(2,2)+'/'+anno.substr(0,2)+data.substr(4,2);
            }
    
            if (data.length == 8)
            {
                    newdata = data.substr(0,2)+'/'+data.substr(2,2)+'/'+data.substr(4,4);
            }
    
            document.forms[mform].elements[campo].value = newdata;
    }
    e il richiamo così
    codice:
    ONBLUR="dataPrg(this.value,'Da','skecon')"
    però non ha tanto senso... il campo al massimo accetta 6 caratteri e nello script controlli se ne vengono inseriti 8 o 6.... e poi altre cose delle quali te ne renderai conto provando.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184

    Hmm Fantastico!!!

    Allora ho subito cambiato la grandezza non me ne ero accorto, ho cambiato anche la size, adesso funziona e alla grande.
    A - Secondo te cosa altro c'è di sbagliato ?
    B - Chiaramente ho anche un campo "A", potrei fare un controllo fra date, quando viene dato il submit ?
    C - Dovrei verificare anche la compilazione di tutti i campi, di cui 1 è una "select", il che significa che all'"ONSubmit" dovrei lanciare una routine particolare.
    D - Nella funzione si possono attribuire costanti ?
    Es. in php :
    Function ControllaData ($a, $b, $c=1){....}
    Il che significa che la variabile $a e $b mi devono arrivare per forza, mentre $c se non arriva è uguale a 1 se arriva è diversa.

    VVoVe:

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184

    Questo è il nuovo script!

    function dataPrg(data,campo,mform,giorno)
    {
    var adesso = new Date();
    var anno = ''+adesso.getFullYear();
    GGinput = data.substr(0,2);
    MMinput = data.substr(2,2);
    AAinput = data.substr(4,4);

    var month = New Array();
    month[01] = 31;
    month[03] = 31;
    month[04] = 30;
    month[05] = 31;
    month[06] = 30;
    month[07] = 31;
    month[08] = 31;
    month[09] = 30;
    month[10] = 31;
    month[11] = 30;
    month[12] = 31;

    Resto = AAinput % 4;
    if (Resto == 0)
    {
    month[02] = 29;
    }
    else
    {
    month[02] = 28;
    }


    if ((data.length != 8) && (data.length != 6) && (data.length != 10))
    {
    newdata = giorno+'/01/'+anno;
    alert('Formato data irregolare');
    }

    if (data.length == 10)
    {

    if (0 < MMinput < 13)
    {
    indice = data.substr(2,2);
    if (month[indice] < GGinput)
    {
    alert('Rapporto giorni mese errato.');
    newdata = giorno+'/01/'+anno;
    document.forms[mform].elements[campo].value = newdata;
    }
    }
    else
    {
    alert('Mese Inesistente!');
    newdata = giorno+'/01/'+anno;
    document.forms[mform].elements[campo].value = newdata;
    }
    }

    if (data.length == 6)
    {
    newdata = data.substr(0,2)+'/'+data.substr(2,2)+'/'+anno.substr(0,2)+data.substr(4,2);
    document.forms[mform].elements[campo].value = newdata;
    }

    if (data.length == 8)
    {
    newdata = data.substr(0,2)+'/'+data.substr(2,2)+'/'+data.substr(4,4);
    document.forms[mform].elements[campo].value = newdata;
    }

    }

    </SCRIPT>


    Ha un errore di sintassi, manca un ";".
    Ma non c'è un debugger ?

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184

    Ho risolto un sacco di errori ma qua ....

    if (data.length == 6)
    {
    GGinp = data.substr(0,2);
    MMinp = data.substr(2,2);
    AAinp = anno.substr(0,2) + data.substr(4,2);

    Resto = AAinp % 4;
    if (Resto == 0)
    {
    mese[2] = 29;
    }
    else
    {
    mese[2] = 28;
    }

    if ((MMinp < 13) && (MMinp > 0))
    {
    if (mese[MMinp] < GGinp)
    {
    alert('Rapporto giorni mese errato.');
    newdata = giorno+'/01/'+anno;
    document.forms[mform].elements[campo].value = newdata;
    }
    else
    {
    newdata = data.substr(0,2)+'/'+data.substr(2,2)+'/'+anno.substr(0,2)+data.substr(4,2);
    document.forms[mform].elements[campo].value = newdata;
    }
    }
    else
    {
    alert('Mese Inesistente!');
    newdata = giorno+'/01/'+anno;
    document.forms[mform].elements[campo].value = newdata;
    }

    }

  8. #8

    re: praticamente

    ciao io nn ne so molto di javascript ma secondo me invece di utilizzare tutti quegli if potresti usare lo switch case così risparmi spazzio e diventa più leggibile .... no?
    ciao a tutti

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ho capito tutto quel programma.

    Se devi controllare se una data esiste, basta che la trasformi in data e poi usi i metodi di Date():
    codice:
    function dataPrg(data,campo,mform,giorno) {
      var tmp = data.split(/[\/\:\.]/);
      var adesso = new Date();
    
      if(parseInt(tmp[2],10) < 100) tmp[2] = "19"+tmp[2];
    
      var dat_inp = new Date(parseInt(tmp[2],10), parseInt(tmp[1],10)-1, parseInt(tmp[0],10));
    
      if( tmp[2]!=dat_inp.getFullYear() || tmp[1]!=dat_inp.getMonth()+1 || tmp[0]!=dat_inp.getDate() ) {
        alert("la data non e` corretta");
        // ...
      }
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184

    attimo.....

    Allora la data può essere inserita in + modi :
    010104
    01012004
    01/01/2004

    Devo controllare come è stata inserita e se è corretta.

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