Buongiorno a tutti.
Ho un problema con l'inserimento di javascript in un contenuto statico.
Premesso che lo script funziona se lo carico sul server come pagina htm, quando lo inserisco in un contenuto statico invece non restituisce il calcolo che deve restituire.
Si tratta di uno script per il calcolo del CIN bancario.
Vi riporto la procedura:
ho disabilitato l'editor;
ho creato un contenuto statico;
ho aperto il file htm in cui è contenuto lo script;
ho cliccato su visualizza sorgente, copiato il codice visualizzato e incollato nel mio contenuto statico;
salvo il contenuto e viene visualizzato normalmente, il problema è che, inserendo i dati da inserire nei campi, mi fa un calcolo errato.
Potete darmi una mano? Vi ringrazio fin da ora.
Il codice incollato è il seguente:
<script type="text/javascript"><!--
function maiu(elemento){
document.forms[0].elements[elemento].value=document.forms[0].elements[elemento].value.toUpperCase();
}
function contrcin()
{
cc=document.forms[0].elements[0].value+document.forms[0].elements[1].value+document.forms[0].elements[2].value;
aa="A0B1C2D3E4F5G6H7I8J9K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#-#.# #";
bb="B1A0K#P#L#C2Q#D3R#E4V#O#S#F5T#G6U#H7M#I8N#J9W#Z#Y#X# #-#.#";
dd=0;
iban2="";
tabella="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for(var ii=1;ii<22;ii+=2)
{
dd=dd+Math.floor(aa.indexOf(cc.charAt(ii))/2);
}
for(var ii=0;ii<22;ii+=2)
{
dd=dd+Math.floor(bb.indexOf(cc.charAt(ii))/2);
}
dd=dd-(Math.floor(dd/26)*26);
cin = aa.charAt(dd*2);
cc1 = cin+cc+"IT"+"00";
for(var iban1=0;iban1<cc1.length;iban1++)
{
iban2+=tabella.indexOf(cc1.charAt(iban1));
}
divisore=97;
div1=""
for (var ciclo1 = 0; ciclo1 < iban2.length; ciclo1++)
{
div1=div1+iban2.charAt(ciclo1);
if (div1<divisore) continue;
else
{
div1=div1%divisore;
}
}
iban2=98 - div1;
iban2="0"+iban2;
iban2=iban2.charAt(iban2.length-2)+iban2.charAt(iban2.length-1);
iban = "IT"+iban2+cin+cc;
alert("Il CIN calcolato e': "+cin+"\nLe coordinate IBAN sono: "+iban);}
function prova()
{
document.forms[0].elements[0].value=document.forms[0].elements[0].value.toUpperCase();
if (document.forms[0].elements[0].value.length!=5 )
{
alert("Attenzione il codice ABI deve essere di 5 caratteri" );
}
}
function prova1()
{
document.forms[0].elements[1].value=document.forms[0].elements[1].value.toUpperCase();
if (document.forms[0].elements[1].value.length!=5 )
{
alert("Attenzione il codice CAB deve essere di 5 caratteri" );
}
}
function prova2()
{
prova();
prova1();
document.forms[0].elements[2].value=document.forms[0].elements[2].value.toUpperCase();
lunghezza=document.forms[0].elements[2].value.length;
if (document.forms[0].elements[2].value.length<12 )
{
for(var i=1;i<(13-lunghezza);i++)
{
document.forms[0].elements[2].value="0"+document.forms[0].elements[2].value;
}
}
if (document.forms[0].elements[2].value.length!=12 )
{
alert("Attenzione il numero di C/C deve essere di 12 caratteri" );
}
contrcin();
}
//--></script>
Calcolo del CIN e delle coordinate IBAN di un C/C bancario italiano
<form action="#">
<table border="0">
<tbody>
<tr>
<td>Codice ABI</td>
<td><input name="J8" onchange="prova();" size="10" /></td></tr>
<tr>
<td>Codice CAB</td>
<td><input name="J9" onchange="prova1();" size="10" /></td></tr>
<tr>
<td>Conto corrente </td>
<td><input name="K1" onchange="prova2();" /></td></tr>
</tbody></table>
<input type="reset" value="Cancella" />
<input type="button" value="Calcola CIN e IBAN" onclick="prova2();" />
</form>
<font size="-2">
ATTENZIONE:
se il numero di conto è inferiore a 12 caratteri alcune banche, per il calcolo del CIN, inseriscono gli ZERI
per completare il campo, quindi un c/c n.1234 diventa 000000001234
</font>