Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [Javascript]Strano funzionamento errato Javascript

    Gentili signori,
    ho il seguente problema,la stessa funzione in java script mi funziona con un file .html e non con un altro, ora vi posto il codice dei due file in cui la stessa funzione javascript per uno funziona e per l'altro no.

    In particolare come potete vedere dal codice qui sotto la funzione js in questione svolge dei semplici controlli di inserimento dati nelle form:

    FILE REGISTRAZIONE.HTML

    <html><head>
    <script type="text/javascript">
    function verifica() {
    var email = document.registra.email.value;

    var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;

    if(!email_reg_exp.test(email)){
    alert("Si prega di inserire un indirizzo email valido");
    return (false);
    }



    //Controlla che il Telefono sia composto da soli caratteri numerici e dai caratteri /, (, ),-
    var checkOK = "0123456789-/-()";
    var checkStr = document.registra.telefono.value;
    var allValid = true;
    var lunghezza= true;
    var conta=0;
    for (i = 0; i < checkStr.length; i++){
    ch = checkStr.charAt(i);
    for (j = 0; j < checkOK.length; j++)
    if (ch == checkOK.charAt(j)) break;
    if (j == checkOK.length){
    allValid = false;
    break;
    }
    }



    if(checkStr.length<5 ){
    alert("Inserire numeri ammissibili nel campo \"Telefono\".");
    document.registra.telefono.focus();
    return (false);
    }

    if (!allValid){
    alert("Inserire solo cifre e/o \"/-()\" nel campo \"Telefono\".");
    document.registra.telefono.focus();
    return (false);
    }

    for (var i = 0; i < document.registra.length ; i++) {
    if (document.registra.elements[i].value == "") {
    alert ("Campo mancante :"+ " " +document.registra.elements[i].name );
    return (false);
    }
    }

    return (true);
    }


    </script>
    </head>

    <body><h1>Registrazione Nuovo Utente</h1>\n

    <form name='registra' action='php/registra.php' method='POST' onsubmit='return verifica()'>\n
    <table style='width: 500px'>\n
    <tr><td style='width: 33%;'>Nome:</td><td><input type='text' name='nome' /></td></tr>\n <tr><td style='width: 33%;'>Cognome:</td><td><input type='text' name='cognome' /></td></tr>\n

    <tr><td style='width: 33%;'>Data di nascita:</td>
    <td><select name=day>
    <option selected value = 1>1</option>
    <option value = 2>2</option>
    <option value = 3>3</option>
    <option value = 4>4</option>
    <option value = 5>5</option>
    <option value = 6>6</option>
    <option value = 7>7</option>
    <option value = 8>8</option>
    <option value = 9>9</option>
    <option value = 10>10</option>
    <option value = 11>11</option>
    <option value = 12>12</option>
    <option value = 13>13</option>
    <option value = 14>14</option>
    <option value = 15>15</option>
    <option value = 16>16</option>
    <option value = 17>17</option>
    <option value = 18>18</option>
    <option value = 19>19</option>
    <option value = 20>20</option>
    <option value = 21>21</option>
    <option value = 22>22</option>
    <option value = 23>23</option>
    <option value = 24>24</option>
    <option value = 25>25</option>
    <option value = 26>26</option>
    <option value = 27>27</option>
    <option value = 28>28</option>
    <option value = 29>29</option>
    <option value = 30>30</option>
    <option value = 31>31</option>
    </select>
    <select name=month onChange='populate(this.form,this.selectedIndex);' >
    <option selected value=01>Gennaio</option>
    <option value=02>Febbraio</option>
    <option value=03>Marzo</option>
    <option value=04>Aprile</option>
    <option value=05>Maggio</option>
    <option value=06>Giugno</option>
    <option value=07>Luglio</option>
    <option value=08>Agosto</option>
    <option value=09>Settembre</option>
    <option value=10>Ottobre</option>
    <option value=11>Novembre</option>
    <option value=12>Dicembre</option>
    </select>

    <select name=year onChange='populate(this.form,this.form.month.selec tedIndex);'>
    <option value = 1900>1900</option>
    <option value = 1901>1901</option>
    <option value = 1902>1902</option>
    <option value = 1903>1903</option>
    <option value = 1904>1904</option>
    <option value = 1905>1905</option>
    <option value = 1906>1906</option>
    <option value = 1907>1907</option>
    <option value = 1908>1908</option>
    <option value = 1909>1909</option>
    <option value = 1910>1910</option>
    <option value = 1911>1911</option>
    <option value = 1912>1912</option>
    <option value = 1913>1913</option>
    <option value = 1914>1914</option>
    <option value = 1915>1915</option>
    <option value = 1916>1916</option>
    <option value = 1917>1917</option>
    <option value = 1918>1918</option>
    <option value = 1919>1919</option>
    <option value = 1920>1920</option>
    <option value = 1921>1921</option>
    <option value = 1922>1922</option>
    <option value = 1923>1923</option>
    <option value = 1924>1924</option>
    <option value = 1925>1925</option>
    <option value = 1926>1926</option>
    <option value = 1927>1927</option>
    <option value = 1928>1928</option>
    <option value = 1929>1929</option>
    <option value = 1930>1930</option>
    <option value = 1931>1931</option>
    <option value = 1932>1932</option>
    <option value = 1933>1933</option>
    <option value = 1934>1934</option>
    <option value = 1935>1935</option>
    <option value = 1936>1936</option>
    <option value = 1937>1937</option>
    <option value = 1938>1938</option>
    <option value = 1939>1939</option>
    <option value = 1940>1940</option>
    <option value = 1941>1941</option>
    <option value = 1942>1942</option>
    <option value = 1943>1943</option>
    <option value = 1944>1944</option>
    <option value = 1945>1945</option>
    <option value = 1946>1946</option>
    <option value = 1947>1947</option>
    <option value = 1948>1948</option>
    <option value = 1949>1949</option>
    <option value = 1950>1950</option>
    <option value = 1951>1951</option>
    <option value = 1952>1952</option>
    <option value = 1953>1953</option>
    <option value = 1954>1954</option>
    <option value = 1955>1955</option>
    <option value = 1956>1956</option>
    <option value = 1957>1957</option>
    <option value = 1958>1958</option>
    <option value = 1959>1959</option>
    <option value = 1960>1960</option>
    <option value = 1961>1961</option>
    <option value = 1962>1962</option>
    <option value = 1963>1963</option>
    <option value = 1964>1964</option>
    <option value = 1965>1965</option>
    <option value = 1966>1966</option>
    <option value = 1967>1967</option>
    <option value = 1968>1968</option>
    <option value = 1969>1969</option>
    <option value = 1970>1970</option>
    <option value = 1971>1971</option>
    <option value = 1972>1972</option>
    <option value = 1973>1973</option>
    <option value = 1974>1974</option>
    <option value = 1975>1975</option>
    <option value = 1976>1976</option>
    <option value = 1977>1977</option>
    <option value = 1978>1978</option>
    <option value = 1979>1979</option>
    <option value = 1980>1980</option>
    <option value = 1981>1981</option>
    <option value = 1982>1982</option>
    <option value = 1983>1983</option>
    <option value = 1984>1984</option>
    <option value = 1985>1985</option>
    <option value = 1986>1986</option>
    <option value = 1987>1987</option>
    <option value = 1988>1988</option>
    <option value = 1989>1989</option>
    <option value = 1990>1990</option>
    <option value = 1991>1991</option>
    <option value = 1992>1992</option>
    <option value = 1993>1993</option>
    <option value = 1994>1994</option>
    <option value = 1995>1995</option>
    <option value = 1996>1996</option>
    <option value = 1997>1997</option>
    <option value = 1998>1998</option>
    <option value = 1999>1999</option>
    <option value = 2000>2000</option>
    <option value = 2001>2001</option>
    <option value = 2002>2002</option>
    <option value = 2003>2003</option>
    <option value = 2004>2004</option>
    <option value = 2005>2005</option>
    <option value = 2006>2006</option>
    <option value = 2007>2007</option>
    <option value = 2008>2008</option>
    <option selected value = 2009>2009</option>
    </select></td></tr>\n"

    <tr><td style='width: 33%;'>Sesso:</td><td><input checked type='radio' name='sesso' value='maschio' />Maschio</td></tr>\n
    <tr><td style='width: 33%;'></td><td><input type='radio' name='sesso' value='maschio' />Femmina</td></tr>\n

    <tr><td style='width: 33%;'>Residenza:</td><td><input type='text' name='residenza' /></td></tr>\n
    <tr><td style='width: 33%;'>Città:</td><td><input type='text' name='citta' /></td></tr>\n
    <td style='width: 33%;'>Provincia:</td><td><input type='text' name='prov' /></td>\n
    <tr><td style='width: 33%;'>Numero di Tel.:</td><td><input type='text' name='telefono' /></td></tr>\n

    <tr><td style='width: 33%;'>E-mail:</td><td><input type='text' name='email' /></td></tr>\n
    <tr><td style='width: 33%;'>Username:</td><td><input type='text' name='user' /></td></tr>\n

    <tr><td style='width: 33%;'>Password:</td><td><input type='text' name='pass' /></td></tr>\n
    <tr><td style='width: 33%;'></td><td><input type='submit' value='Invia' /></td></tr>\n

    </table></form>\n

    </body>
    </html>


    FILE 2:

    <html>
    <head>
    <script type="text/javascript">
    function verifica3() {


    var email = document.registra2.email.value;

    var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;

    if(!email_reg_exp.test(email)){
    alert("Si prega di inserire un indirizzo email valido");
    return (false);
    }


    //Controlla che il Telefono sia composto da soli caratteri numerici e dai caratteri /, (, ),-
    var checkOK = "0123456789-/-()";
    var checkStr = document.registra2.telefono.value;
    var allValid = true;
    var lunghezza= true;
    var conta=0;
    for (i = 0; i < checkStr.length; i++){
    ch = checkStr.charAt(i);
    for (j = 0; j < checkOK.length; j++)
    if (ch == checkOK.charAt(j)) break;
    if (j == checkOK.length){
    allValid = false;
    break;
    }
    }



    if(checkStr.length<5 ){
    alert("Inserire numeri ammissibili nel campo \"Telefono\".");
    document.registra2.telefono.focus();
    return (false);
    }

    if (!allValid){
    alert("Inserire solo cifre e/o \"/-()\" nel campo \"Telefono\".");
    document.registra2.telefono.focus();
    return (false);
    }

    for (var i = 0; i < document.registra2.length ; i++) {
    if (document.registra2.elements[i].value == "") {
    alert ("Campo mancante :"+ " " +document.registra2.elements[i].name );
    return (false);
    }
    }

    return (true);
    }



    </script>
    </head>


    <body>

    <h1>Modifica Profilo</h1>


    Modifica le informazioni riguardanti il profilo utente, poi premi su salva.</p>







    <form name="registra2" action='index.php' method='POST' onsubmit="return verifica3()"><table style='width: 500px'>
    <tr><td>



    <tr><td style='width: 33%;'>Nome:</td><td><input type='text' name='nome' /></td></tr>
    <tr><td style='width: 33%;'>Cognome:</td><td><input type='text' name='cognome' /></td></tr>

    <tr><td style='width: 33%;'>Data di nascita:</td>
    <td><select name=day>

    </select>
    <select name=''>


    </select>
    <select name='year '>

    </select></td></tr>

    <tr><td style='width: 33%;'>Sesso:</td><td><input checked type='radio' name='sesso' />Maschio</td></tr>
    <tr><td style='width: 33%;'></td><td><input type='radio' name='sesso' />Femmina</td></tr>

    <tr><td style='width: 33%;'>Via:</td><td><input type='text' name='via' /></td></tr>
    <tr><td style='width: 33%;'>Città:</td><td><input type='text' name='citta' /></td></tr>
    <tr><td style='width: 33%;'>Numero di Tel.:</td><td><input type='text' /></td></tr>

    <tr><td><input type='hidden' name='username_utente' value='$user' /></td></tr>

    <tr><td style='width: 33%;'></td><td><input type='submit' value='Salva' /></td></tr>

    </table></form>

    </body>
    </html>


    N.B.
    i 2 file nn centrano nulla con quelli del sito, ma in ogni caso vi posto questi costruiti ad hoc, xche il problema che si presenta sul sito che sto sviluppando è esattamente lo stesso, ovvero la stessa funzione javascript (qui la ho inserita fisicamente in uno e nell' altro file, gli ho attribuito nome differenti, ma la funzione è esattamente la stessa)nnon funziona in 2 file differenti, o meglio, in un file funziona (registrazione.html), mentre nell altro no!

    Grazie per il tempo dedicatomi.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non chiarissimo il problema comunque usa firefox per testare le pagine aprendo la console degli errori normalmente risolvi.
    Tornando al tuo problema (quello che ho capito) la seconda pagina postata non funziona perché lo script verifica dei campi non presenti nel form.
    Consigli quando qualcosa non funziona posta quello non esempi modificati poi è meglio se passi al DOM (Document Object Model) http://javascript.html.it/guide/lezi.../introduzione/ una volta appreso avrai molti meno problemi.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.