Ragazzi aiuto!!!
Ho un form da verificare con un javascript. il controllo è OK fino al campo PROV, dopo ignora completamente la validazione e passa avanti anche se nel campo indirizzo non c'è nulla.
vi posto la parte essenziale...
anche se è lunga ma così è tutto chiaro:
<script Language="JavaScript"><!--
function Validate(theForm)
{
if (theForm.CARD_NAME.value == "")
{
alert("Inserire il nome del titolare della Carta di credito.");
theForm.CARD_NAME.focus();
return (false);
}
if (theForm.CARD_TYPE.selectedIndex < 0)
{
alert("Selezionare il tipo di carta.");
theForm.CARD_TYPE.focus();
return (false);
}
if (theForm.CARD_TYPE.selectedIndex == 0)
{
alert("Selezionare il tipo di carta.");
theForm.CARD_TYPE.focus();
return (false);
}
var checkOK = "0123456789";
var checkStr = theForm.CARD_NO.value;
var CrValid = true;
var checksum=0;
var ddigit=0;
var kdig = 0;
if (checkStr.length < 13) alert ('Il numero di carta inserito è errato. Vi preghiamo di controllare il numero dei caratteri.');
for (i = checkStr.length-1; i >= 0; i--)
{
kdig++;
ch = checkStr.charAt(i);
if ((kdig % 2) != 0)
checksum=checksum+parseInt(ch)
else {
ddigit=parseInt(ch)*2;
if (ddigit >= 10)
checksum=checksum+1+(ddigit-10)
else
checksum=checksum+ddigit;
}
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
alert('Inserire solo numeri. Non divisori, spazi o caratteri non numerici.');
return(false);
}
}
if ((checksum % 10) != 0){
alert('Il numero di carta inserito è errato.');
theForm.CARD_NO.focus();
return (false);
}
if (theForm.CARD_EXP.value == "")
{
alert("Inserire la data di scadenza della Carta di credito.");
theForm.CARD_EXP.focus();
return (false);
}
if (theForm.CARD_EXP.value.length < 5)
{
alert("Prego almeno 5 caratteri nel campo Scadenza della Carta di Credito.");
theForm.CARD_EXP.focus();
return (false);
}
var checkOK = "0123456789-/-";
var checkStr = theForm.CARD_EXP.value;
var allValid = true;
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 (!allValid)
{
alert("Prego digitare come divisori solo \"/-\" nel campo Scadenza della Carta di Credito.");
theForm.CARD_EXP.focus();
return (false);
}
if (theForm.ADDRESS_1.value == "")
{
alert("Inserire l'indirizzo.");
theForm.ADDRESS_1.focus();
return (false);
}
if (theForm.COUNTRY.value == "")
{
alert("Selezionare la nazione del titolare della carta.");
theForm.COUNTRY.focus();
return (false);
}
if (theForm.CITY.value == "")
{
alert("Inserire la città.");
theForm.CITY.focus();
return (false);
}
if (theForm.PROV.value == "")
{
alert("Inserire almeno 2 caratteri nel campo \"Prov\".");
theForm.PROV.focus();
return (false);
}
if (theForm.ZIP.value == "")
{
alert("Inserire il codice postale CAP o ZIP.");
theForm.ZIP.focus();
return (false);
}
if (theForm.PHONE.value == "")
{
alert("Inserire il numero di TELEFONO");
theForm.PHONE.focus();
return (false);
}
if (theForm.E_MAIL.value == "")
{
alert("Inserire l'indirizzo E-Mail.");
theForm.E_MAIL.focus();
return (false);
}
if (theForm.E_MAIL.value.length < 5)
{
alert("L'EMAIL non è valida");
theForm.E_MAIL.focus();
return (false);
}
var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw xyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæç èéêëìíîïðñòóôõöøùúûüýþ0123456789-@.-_";
var checkStr = theForm.E_MAIL.value;
var allValid = true;
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 (!allValid)
{
alert("Please enter only letter, digit and \"@.-_\" characters in the \"E-Mail Address\" field.");
theForm.E_MAIL.focus();
return (false);
}
return (true);
}
//--></script>
<form method="POST" language="JavaScript" onsubmit="return Validate(this)" name="Form1" action="confirm.asp?ORDER_ID=<%= Request("Order_ID") %>" >
<table border="2" cellpadding="2" cellspacing="0" width="730" style="border-collapse: collapse" bordercolor="#111111">
<tr align="center">
<td align="left" colspan="3" width="722"><div align="center"><center><h4>
<input type="hidden" name="PrmShipping" value="<% If PrmShipping = "1" Then %>1<%Else %>0<% End If %>">
<input type="hidden" name="ShipMeth" value="<%= ShipMeth %>">
<input type="hidden" name="PaymentMethod" value="<%= PaymentMethod %>">
<input type="hidden" name="Ship_country" value="<%= Ship_country %>">
<font color="#800000">Modulo
d'ordine per pagamenti con Carta di Credito</font></h4>
</div></center></td>
</tr>
<tr align="center">
<td align="left" width="113">
Titolare
Carta:</p>
</td>
<td align="left" width="281">
<font color="#800000" size="2"><input type="text" name="CARD_NAME" size="28" value="<%=P_CUST_NAME%>">
**</font></td>
<td align="left" width="318">
Tipo di Carta: <font size="1"><select name="CARD_TYPE" size="1">
<option>Seleziona la carta</option>
<option>VISA</option>
<option>Convivia A E</option>
<option>American Express</option>
<option>MasterCard </option>
<option>Carta SI</option>
<option>Diners</option>
</select></font> <font color="#800000" size="1">**</font></td>
</tr>
<tr align="center">
<td align="left" width="113">Numero:</td>
<td align="left" width="281">
<input type="password" size="28" name="CARD_NO">
<font color="#800000">**</font></td>
<td align="left" width="318">Scadenza:
<input type="text" size="10" name="CARD_EXP"><font color="#800000">**</font> </td>
</tr>
<tr align="center">
<td align="right" colspan="2" width="399" valign="bottom"><div align="center">
<h4 align="right"><font color="#800000">INFORMAZIONI
CLIENTE</font></h4>
</div></center></td>
<td align="right" width="318" valign="top">
<p align="left"><font size="1"> (
<font color="#008000">Necessari solo se si richiede la fattura</font>)
</font>Partita IVA:<font size="1"> </font><input type="text" size="20" name="PIVA" value="<%=PIVA%>"><font size="1"> </font>
Ragione Sociale:
<input size="24" name="COMPANY" value="<%=P_COMPANY%>"></td>
</tr>
<tr align="center">
<td align="left" width="113">Indirizzo:</td>
<td align="left" height="25" width="604" colspan="2">
<input type="text" size="77" name="ADDRESS_1" value="<%=P_ADDRESS_1%>">
<font color="#800000">**</font></td>
</tr>
<tr align="center">
<td align="left" width="113">Nazione</td>
<td align="left" width="281">
<input type="text" name="Country" size="28" value="<%=Country%>"><font color="#800000">**</font></td>
<td align="left" width="318">
Città: <input type="text" size="34" name="CITY" value="<%=P_CITY%>"><font color="#800000">**</font></td>
</tr>
<tr align="center">
<td align="left" width="113">Provincia</td>
<td align="left" width="281">
<input type="text" size="9" name="PROV" value="<%=PROV%>">
<font color="#800000">**</font></td>
<td align="left" width="318">
Cap:
<input type="text" size="10" name="ZIP" value="<%=P_ZIP%>">
<font color="#800000">**</font></td>
</tr>
<tr align="center">
<td align="left" width="113">Telefono: </td>
<td align="left" width="281">
<input type="text" size="20" name="PHONE" value="<%=P_PHONE%>"><font color="#800000">
** </font>Fax:
<input type="text" size="20" name="FAX" value="<%=P_FAX%>"></td>
<td align="left" width="318">
E-Mail:
<input type="text" size="20" name="E_MAIL" value="<%=P_EMAIL%>"><font color="#800000">**</font></td>
</tr>
<tr align="center">
<td align="right" width="722" colspan="3">
<h4 align="left"><font color="#800000">INFORMAZIONI
SULLA SPEDIZIONE <span style="font-weight: 400">
<font size="2">(</font><span style="font-variant: normal"><font face="Arial" size="2">non compilare se
la destinazione è quella inserita sopra</font></span>)</span></font></h4>
</td>
</tr>
<tr align="center">
<td align="left" width="113">
Cognome
e Nome:</p>
</td>
<td align="left" width="604" colspan="2"><input type="text" size="30" name="SHIP_NAME" value="<%S=P_SHIP_NAME%>"> Azienda:<input type="text" size="30" name="SHIP_COMPANY" value="<%=P_SHIP_COMPANY%>"></td>
</tr>
<tr align="center">
<td align="left" width="113">
Indirizzo:</p>
</td>
<td align="left" width="604" colspan="2"><input type="text" size="30" name="SHIP_ADDRESS_2" value="<%=P_SHIP_ADDRESS_2%>">
Reparto/interno: <input type="text" size="30" name="SHIP_ADDRESS_1" value="<%=P_SHIP_ADDRESS_1%>"></td>
</tr>
<%
ship_country=trim(request("ship_country"))
%>
<tr align="center">
<td align="left" width="113">Nazione: </td>
<td align="left" width="604" colspan="2">
<font color="#800000" size="2"><%=Ship_Country %></font>
Città:<input type="text" size="22" name="SHIP_CITY" value="<%=P_SHIP_CITY%>">
Cap: <input type="text" size="10" name="SHIP_ZIP" value="<%=SHIP_ZIP%>">
Prov. <input type="text" size="10" name="SHIP_PROV" value="<%=SHIP_PROV%>">
Tel.
<input type="text" size="16" name="SHIP_TELEPHONE" value="<%=P_SHIP_TELEPHONE%>"></td>
</tr>
<tr align="center">
<td align="left" width="113">
</p>
</td>
<td align="left" width="604" colspan="2"></td>
</tr>
<tr>
<td align="right" colspan="3" class="lx" width="722">
<p align="left"><font color="#800000">I campi
contrassegnati con ** sono obbligatori</font></td>
</tr>
<tr>
<td align="right" colspan="3" width="722"><font size="2"><div align="center"><center>
<h4></font><font color="#800000">ISTRUZIONI SPECIALI</font></h4>
</div></center></td>
</tr>
<tr align="center">
<td valign"top" width="722" colspan="3">
<textarea name="SHIP_MESSAGE" rows="2" cols="77" style="font-size: 8 pt" class="form"></textarea></td>
</tr>
<tr align="center">
<td align="right" width="722" colspan="3">
<p align="center"><input type="submit" value="Invia l'ordine" name="Submit"></p>
</td>
</tr>
</table>
</form>