Newsgroup: it.comp.lang.javascript
Titolo: Errore su richiamo funzione...

Ciao oramai è 2 giorni che smadonno...
il fatto strano è che in certe pagina funziona mentre in altre no.
In parole povere selezionando o deselezionando i checkbox si richiama
una funzione che crea se non esiste o cancella parti di valori in un
cookie creato in JS.
Ho buttato la spugna perchè proprio in certe pagine funzione e in
altre no.
Non so più che fare. Ho pulito al massimo la pagina che vi allego in
modo che possiate effettuare un test e darmi una soiegazione (spero!)
di quest'errore...
Sembrerebbe non essere nella funzione ma nel clicjk sull'oggetto..ma
non so.
Grazie Alien.
__________________
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
	//********************************
	// Funzionmi per la creazione di un cookie
	//********************************
	function createCookie(name,value,days){
		if(days){
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	}
	function readCookie(name){
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++)
		{
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return
c.substring(nameEQ.length,c.length);
		}
		return null;
	}
	function Mid(str, start, len){
		// Make sure start and len are within proper bounds
		if(start < 0 || len < 0){
			return "";
		}
		var iEnd, iLen = String(str).length;
		if(start + len > iLen){
			iEnd = iLen;
		}else{
			iEnd = start + len;
		}
		return String(str).substring(start,iEnd);
	}
	function InStr(strSearch, charSearchFor){
		for (i=0; i < Len(strSearch); i++){
			if (charSearchFor == Mid(strSearch, i, 1)){
				return i;
			}
		}
		return -1;
	}
	function Len(str){
    	return String(str).length;
	}
	function Confronta(isChecked,IDprodotto){
		//Seleziona il checkbox
		if(isChecked==true){
			//alert(readCookie('WN_Confronta'));
			if(document.getElementById('ConfrontaUPn')){
				document.getElementById('ConfrontaUPn').innerHTML =
parseInt(document.getElementById('ConfrontaUPn').innerHTML)+1;
			}
			if(document.getElementById('ConfrontaDOWNn')){
				document.getElementById('ConfrontaDOWNn').innerHTML =
parseInt(document.getElementById('ConfrontaDOWNn').innerHTML)+1;
			}
			//Se esite
			if(readCookie('WN_Confronta')!=null&&Len(readCookie('WN_Confronta'))>0){
				//Solo se già non esite....
				if(InStr(readCookie('WN_Confronta'),"'"+IDprodotto+"',")<0){
					var date = new Date();
					date.setTime(date.getTime()+(1*24*60*60*1000));
					var expires = "; expires="+date.toGMTString();
					var temp = readCookie('WN_Confronta');
					var value = temp+"'"+IDprodotto+"',";
					document.cookie = "WN_Confronta="+value+expires+"; path=/";
				}
			//Non esiste
			}else{
				createCookie("WN_Confronta","'"+IDprodotto+"',",1);
			}
		//Deselezionato
		}else{
			//alert(readCookie('WN_Confronta'));
			if(document.getElementById('ConfrontaUPn')){
				document.getElementById('ConfrontaUPn').innerHTML =
parseInt(document.getElementById('ConfrontaUPn').innerHTML)-1;
				(parseInt(document.getElementById('ConfrontaUPn').innerHTML) <
0)?document.getElementById('ConfrontaUPn').innerHTML=0:null;
			}
			if(document.getElementById('ConfrontaDOWNn')){
				document.getElementById('ConfrontaDOWNn').innerHTML =
parseInt(document.getElementById('ConfrontaDOWNn').innerHTML)-1;
				(parseInt(document.getElementById('ConfrontaDOWNn').innerHTML) <
0)?document.getElementById('ConfrontaDOWNn').innerHTML=0:null;
			}
			//Se esite
			if(readCookie('WN_Confronta')!=''&&Len(readCookie('WN_Confronta'))>0){
				var date = new Date();
				date.setTime(date.getTime()+(1*24*60*60*1000));
				var expires = "; expires="+date.toGMTString();
				var expires = "";
				var temp = readCookie('WN_Confronta');
				var value = temp.replace("'"+IDprodotto+"',","");
				document.cookie = "WN_Confronta="+value+expires+"; path=/";
			}
		}
	}
-->
</script>
</head>
<body  leftmargin="0"  topmargin="0" rightmargin="0">
<span class="TXTspecificheRed">&nbsp;le caratteristiche degli articoli
selezionati <strong>(<label id="ConfrontaUPn">4</label>)</strong> in
una tabella comparativa</span><br>
<br>
<table  border="0" cellspacing="0" cellpadding="0">
  <tr valign="top">
    <form name="MyFirst" method="post" action="Ricerca.asp">
      <td align="left" class="Border1">
	  <table width="100%"  border="0" cellpadding="0" cellspacing="1"
bgcolor='#CCCCCC'>
            <tr align="left" valign="top">
              <td align="center" valign="middle"
bgcolor='#CCCCCC'><input name="Confronta" type="checkbox"
id="Confronta" value="checkbox" onclick="Confronta(this.checked,2137);"
 checked/>
              prodotto 1 </td>
            </tr>
        </table>
		<br>
        <table width="100%"  border="0" cellpadding="0" cellspacing="1"
bgcolor='#CCCCCC'>
            <tr align="left" valign="top">
              <td align="center" valign="middle"
bgcolor='#CCCCCC'><input name="Confronta" type="checkbox"
id="Confronta" value="checkbox" onclick="Confronta(this.checked,2102);"
/>
              prodotto 2 </td>
            </tr>
        </table>
		</td>
    </form>
  </tr>
</table>
</body>
</html>

Ho capito che se metto i checkbox fuori dal TAG form va...ma perchè?
Infatti nelle pagine che funziona non c'è il TAG form...
Sapete spiegarmi il motivo? Grazie...