Visualizzazione dei risultati da 1 a 6 su 6

Discussione: script in livello

  1. #1

    script in livello

    come mai questo script inserito in un livello non funziona???

    <script language="javascript" src="cf.js"></script>
    <form name="CodiceFiscale">
    <table border=0>
    <tr><td width="200">Cognome:</td><td width="218"><input type="text" name="iCognome" value=""></td></tr>
    <tr><td>Nome:</td>
    <td><input type="text" name="iNome" value=""></td>
    </tr>
    <tr>
    <td>Data di nascita (gg/mm/aaaa):</td>
    <td>
    <select name="iGiorno">
    <option value="01">01</option>
    <option value="02">02</option>
    <option value="03">03</option>
    <option value="04">04</option>
    <option value="05">05</option>
    <option value="06">06</option>
    <option value="07">07</option>
    <option value="08">08</option>
    <option value="09">09</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="iMese">
    <option value="A">1</option>
    <option value="B">2</option>
    <option value="C">3</option>
    <option value="D">4</option>
    <option value="E">5</option>
    <option value="H">6</option>
    <option value="L">7</option>
    <option value="M">8</option>
    <option value="P">9</option>
    <option value="R">10</option>
    <option value="S">11</option>
    <option value="T">12</option>
    </select>
    <input type="text" name="iAnno" size=5 maxlength=4>
    </td>
    </tr>
    <tr><td>Sesso</td><td><select name="iGender"><option value="M">M</option><option value="F">F</option></select></td></tr>
    <tr>
    <td>Comune di nascita:</td>
    <td><input type="text" name="iComune"></td></tr>
    <tr><td align=right><input type="button" value="Calcola" onClick="CalcolaCodiceFiscale()"></td><td><textarea name="Risultato"></textarea></td></tr>
    </table>
    </form>

    c'è un modo???

    ps non mi funziona nemmeno inserito in una pop up...

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Questo che hai postato e` solo il codice HTML, mentre il codice JS non lo hai postato.

    Comunque non credo sia possibile senza il database dei comuni, che per la sua grandezza non puoi scaricare su client.

    Occorre qualche trucco diverso che coinvolge maggiormente il server.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    ho postato solo quello che vorrei inserire in un livello, i file per i comuni etc sono nella cartella principale...
    Il form funziona perfettamente in una normale pagina web...inserito in un livello o in una pop no.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Forse e` sbagliato il path del file js cui fa riferimento il tag <script> .
    Questo succede se quello che chiami livello sta in una cartella diversa.

    Comunque ribadisco: se il problema e` JS e non posti il codice JS non possiamo farci nulla. Non siamo indovini.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    questo è il JS

    var consonanti = "bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ";
    var numeri = "0123456789";
    var nn=document.layers?true:false,liv;

    function inizia()
    {
    liv=nn?document.layers.livelloNN:top.frames.livell oIE;
    }

    function CalcolaCodiceFiscale()
    {
    document.CodiceFiscale.Risultato.value = "Calcolo C.F. in corso...";
    with (document.CodiceFiscale)
    {
    Cognome=iCognome.value;
    Nome=iNome.value
    GiornoNascita=iGiorno.options[iGiorno.selectedIndex].value;
    MeseNascita=iMese.options[iMese.selectedIndex].value;
    AnnoNascita=iAnno.value;
    Sesso=iGender.options[iGender.selectedIndex].value;
    Comune=iComune.value;
    }

    if (Cognome != "" && Nome != "" && Comune != "")
    {
    ComuneCalcolato=CalcolaComune(Comune);
    rc = CalcolaCognome(Cognome);
    rn = CalcolaNome(Nome)
    rN = CalcolaNascita(GiornoNascita, MeseNascita, AnnoNascita, Sesso);

    var cf = rc+" "+rn+" "+rN+" "+ComuneCalcolato+" ";

    cf += CalcolaK(rc+rn+rN+ComuneCalcolato);
    if (ComuneCalcolato != -1)
    document.CodiceFiscale.Risultato.value = cf;
    else
    document.CodiceFiscale.Risultato.value = "Comune non presente";
    }
    }

    function CalcolaCognome(Cognome)
    {
    var code = "";
    code = GetConsonanti(Cognome);
    if (code.length >= 3)
    code = code.substring(0, 3);
    else
    {
    code += GetVocali(Cognome).substring(0, 3 - code.length)
    if (code.length < 3)
    for (i = code.length; i < 3; i++)
    code += "X";
    }
    return code;
    }

    function CalcolaNome(Nome)
    {
    var code = "";
    cons = GetConsonanti(Nome);
    if (cons.length > 3)
    code = cons.substring(0, 1) + cons.substring(2, 3) + cons.substring(3, 4);
    else if (cons.length == 3)
    code = cons;
    else
    {
    code = cons + GetVocali(Nome).substring(0, 3 - cons.length);
    if (code.length < 3)
    for (i = code.length; i < 3; i++)
    code += "X";
    }
    return code;
    }

    function GetConsonanti(Stringa)
    {
    var cns = "";
    for (i = 0; i < Stringa.length; i++)
    if (consonanti.indexOf(Stringa.substring(i, i + 1)) != -1)
    cns += Stringa.substring(i, i + 1);
    return cns.toUpperCase();
    }

    function GetVocali(Stringa)
    {
    var voc = "";
    for (i = 0; i < Stringa.length; i++)
    if (consonanti.indexOf(Stringa.substring(i, i + 1)) == -1 && Stringa.substring(i, i + 1) != " ")
    voc += Stringa.substring(i, i + 1);
    return voc.toUpperCase();
    }

    function CalcolaNascita(Giorno, Mese, Anno, Sesso)
    {
    var code = "";
    code += Anno.substring(2, 4) + Mese;
    if (Sesso == "M")
    code += Giorno;
    else
    code += parseInt(40) + parseInt(Giorno);
    return code;
    }

    function CalcolaComune(Comune)
    {
    var flag = -1;

    for (i = 0; i < parent.comuni.arrComuni.length; i++)
    {
    if(Comune.toUpperCase() == parent.comuni.arrComuni[i][1])
    {
    flag = i;
    break;
    }
    }
    if (flag < 0)
    return -1;
    else
    return parent.comuni.arrComuni[flag][0];
    }

    function CalcolaK(Stringa)
    {
    var somma = 0, k;
    var arrPari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var arrDispari = new Array(
    Array(0,1),
    Array(1,0),
    Array(2,5),
    Array(3,7),
    Array(4,9),
    Array(5,13),
    Array(6,15),
    Array(7,17),
    Array(8,19),
    Array(9,21),
    Array("A",1),
    Array("B",0),
    Array("C",5),
    Array("D",7),
    Array("E",9),
    Array("F",13),
    Array("G",15),
    Array("H",17),
    Array("I",19),
    Array("J",21),
    Array("K",2),
    Array("L",4),
    Array("M",18),
    Array("N",20),
    Array("O",11),
    Array("P",3),
    Array("Q",6),
    Array("R",8),
    Array("S",12),
    Array("T",14),
    Array("U",16),
    Array("V",10),
    Array("W",22),
    Array("X",25),
    Array("Y",24),
    Array("Z",23)
    );
    for (i = 0; i < Stringa.length; i += 2)
    {
    for (j = 0; j < arrDispari.length; j++)
    {
    if (Stringa.substring(i, i + 1).toUpperCase() == arrDispari[j][0])
    {
    somma += parseInt(arrDispari[j][1]);
    break;
    }
    }
    }
    for (i = 1; i < Stringa.length; i += 2)
    {
    if (isNaN(Stringa.substring(i, i + 1)))
    somma += parseInt(arrPari.indexOf(Stringa.substring(i, i + 1)));
    else
    somma += parseInt(Stringa.substring(i, i + 1));
    }
    k = somma % 26;
    k = arrPari.charAt(k);
    return k;
    }

    cmq tutti i file sono nella stessa cartella...è per questo che non capisco

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Lo script fa riferimento ad un altro frame, chiamato "comuni", dentro al quale c'e` la variabile dei comuni (viene chiamato dalla funzione CalcolaComune() ). Chiaramente se non c'e` tale frame, lo script non puo` funzionare.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.