Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163

    controllo esotenza variabile

    Ciao a tutti,
    ho una pagina generata dinamicamente, che ha un modulo dove ci possono essere da 1 a 4 campi che poi controllo con una funzione.
    il campo della veariabile di tipo text prende il nome f+un numero in base a quante ce ne sono. Es se sono due ci sono f1 e f2, se sono in quattro, ci sono f1, f2, f3 e f4.
    ecco come:
    Codice PHP:
    <form method="post" name="form1" action="modulo.php" onsubmit="return contf()">
    <
    input type="text" name="f1"
    .... di questi input text ce ne possono essere al massimo 4 ....
    Codice PHP:
    <input type="text" name="fn">
    <
    input type="submit" name="subf1" value="Invia">
    </
    form
    questa è la funzione:

    function contf()
    {

    Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
    var stringaerrore="";
    var verificaris=false;
    if(document.form1.f1.value)
    {
    var indi1 = document.form1.f1.value.replace(/^ +/, "");
    indi1 = indi1.replace(/ +$/, "");
    if (!Filtro.test(indi1))
    {
    stringaerrore += "L' indirizzo inserito nel campo 1 non è nel formato corretto \n";
    verificaris = true;
    }
    }
    if(document.form1.f2.value)
    {
    var indi2 = document.form1.f2.value.replace(/^ +/, "");
    indi2 = indi2.replace(/ +$/, "");
    if (!Filtro.test(indi2))
    {
    stringaerrore += "L' indirizzo inserito nel campo 2 non è nel formato corretto \n";
    verificaris = true;
    }
    }
    if(document.form1.f3.value)
    {
    var indi3 = document.form1.f3.value.replace(/^ +/, "");
    indi3 = indi3.replace(/ +$/, "");
    if (!Filtro.test(indi3))
    {
    stringaerrore += "L' indirizzo inserito nel campo 3 non è nel formato corretto \n";
    verificaris = true;
    }
    }
    if(document.form1.f4.value)
    {
    var indi4 = document.form1.f4.value.replace(/^ +/, "");
    indi4 = indi4.replace(/ +$/, "");
    if (!Filtro.test(indi4))
    {
    stringaerrore += "L' indirizzo inserito nel campo 4 non è nel formato corretto \n";
    verificaris = true;
    }
    }

    if (verificaris == true)
    {
    alert(stringaerrore);
    return(false);
    }
    }

    Il problema è che se ci sono tutte e quattro le variabili nel modulo, il controllo viene fatto giusto, e se sono giusti gli input invia al modulo per elaborare i dati. Se invece ce ne sono 1, 2 o tre, invia al modulo e restituisce un errore sulla pagina del form.
    Sapete perchè?

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163
    Scusate il titolo voleva essere
    controllo esistenza variabile
    comunque, penso sia perchè in realtà la funzione fa' un controllo su una variabile che non esiste.
    come faccio a controllare se effettivamente esiste?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    206
    il probleba è che non essendocci l'imput che viene generato dinamicamente il

    if(document.form1.f4.value)

    non esiste quindi viene generato l'errore

    dovresti usare:

    if(document.form1.f4!=null && document.form1.f4.value)

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163
    ora provo grazie.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163
    Funziona, ti ringrazio,
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.