Salve ragazzi/e.
Mi sto costruendo una sorta di motore di ricerca per eventi (per lo spettacolo). E' uno script (.js) che ho trovato in rete e lo sto adattando alle mie esigenze. Ci sono riuscito, ho effettuato delle modifiche e delle aggiunte, funziona tutto perfettamente. Ma... è sorto un problema. Andiamo con ordine.



_________________________________________________

Questa è la mia pagina di ricerca .htm

codice:
<html>  <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript" src="db_script.js"></script> <script type="text/javascript" src="db_eventi.js"></script>  <title>CERCA NEL DATABASE</title> </head>  <body>  <p style="margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0"><font face="Arial">CERCA NEL DATABASE</font></p>  <p style="margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0"></p>  <p style="margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0"><font face="Arial" color="#FF0000">(Nota: il modulo di ricerca é case sensitive,</font></p>  <p style="margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0"><font face="Arial" color="#FF0000">quando digiti fai attenzione alle minuscole/maiuscole, agli spazi, ai simboli, alla punteggiatura)</font></p>  <p style="margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0"></p>  <form NAME="SearchForm" onSubmit="TypeNext();return false">   <p style="margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0"><font   face="Arial">Qui la tua ricerca:</font><big> </big><input NAME="Text"   ROWS="1" COLS="20" size="51"> <input NAME="FindNext" TYPE="submit" VALUE="Cerca"> <input   NAME="NewSearch" TYPE="Reset" VALUE="Nuova ricerca" onClick="ResetSearch();"></p>   <p style="margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0"><font   face="Arial">Ricerca per:</font><big> </big><select VALUE="field" SIZE="1">     <option>giorno </option>     <option>mese </option>     <option>anno </option>     <option>evento </option>     <option>nome </option>     <option>ora </option>     <option>città </option>     <option>provincia </option>   </select></p>   <p style="margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0"></p>   

<font FACE="Arial" color="#000000">Risultato:</font>
   <input NAME="Result1" ROWS="1" COLS="15" SIZE="1"><input NAME="Result2" ROWS="1" COLS="15"   SIZE="1"><input NAME="Result3" ROWS="1" COLS="15" SIZE="2"> <input NAME="Result4"   TYPE="TEXT" ROWS="1" COLS="15" SIZE="17"> <input NAME="Result5" TYPE="TEXT" ROWS="1"   COLS="31" SIZE="25"> <input NAME="Result6" TYPE="TEXT" ROWS="1" COLS="5" SIZE="5"> <input   NAME="Result7" TYPE="TEXT" ROWS="1" COLS="25" SIZE="20"> <input NAME="Result8" TYPE="TEXT"   ROWS="1" COLS="31" SIZE="3"></p> </form> </body> </html>


_________________________________________________

Questo è il javascript (db_script.js):

codice:
function createArray(length) { 	this.length = length; 	for( var i = 1; i<= length; i++) 		this[i] = null; 	return this;		 }  var Entries = 6;	 var Separator = ";"       var Fields = 8;	 var iGiorno = 1; var iMese = 2; var iAnno = 3; var iEvento = 4; var iNome = 5; var iOra = 6;	 var iCittà = 7; var iProvincia = 8;  var LastMatch = 0;  function GetField(Entry,number)  { 	var Out = ""; 	var FirstChar; 	var LastChar;  	FirstChar = 0; 	LastChar = Entry.indexOf(Separator) ; 	if (number == 1)  	{ 		Out += Entry.substring(FirstChar,LastChar);  		return Out; 	} 	if (number == Fields) 	{ 		Out+= Entry.substring(Entry.lastIndexOf(Separator) + 1,Entry.length) 		return Out; 	}  	for(var i =2; i <= number; i++) 	{ 		FirstChar = LastChar + 1; 		LastChar = Entry.indexOf(Separator, FirstChar); 	} 	Out += Entry.substring(FirstChar,LastChar);  	return Out; }  function FindNext(String, number)  {	 	var CompareWith = ""; 	for(var i = LastMatch + 1; i <=Data.length; i++) 	{ 		var buf = GetField(Data[i],number); 		var bl = parseInt(buf.length); 		var sl = parseInt(String.length); 		if(bl > sl) 		{ 		CompareWith = buf.substring(0,sl ); 		}	 		else 		{ 			CompareWith = buf; 		} 		if (CompareWith == String) 		{ 			LastMatch = i; 			return i; 		} 	} 	LastMatch = 0; 	return 0;	 }  function ResetSearch() { 	LastMatch = 0; 	for(var i = 1; i <=Fields; i++) 	{ 		document.SearchForm.elements[i+3].value = ""; 	} }   function TypeNext() { 	var SearchString = document.SearchForm.Text.value; 	var index =document.SearchForm.elements[3].options.selectedIndex + 1; 	var j = FindNext(SearchString, index); 	if (j == 0) 	{ 		alert("ATTENZIONE! C'é un problema: \n \n- hai sbagliato la digitazione, riprova \n- non hai selezionato la casella *Ricerca per:* \n- il dato che stavi cercando non é presente nel database \n  \n Oppure: \n- non ci sono altri dati disponibili, la ricerca é terminata."); 		ResetSearch(); 		return; 	} 	var buf = ""; 	for(var i = 1; i <=Fields; i++) 	{ 		buf = GetField(Data[j],i); 		document.SearchForm.elements[i+3].value = buf; 	} }


_________________________________________________

Questo è il "database" degli eventi (db_eventi.js):

codice:
var Data = new createArray(Entries);  Data[1] = "09;10;2010;Voci in Tour;Red-A Parker;21.30;Lodi;(MI)"; Data[2] = "09;10;2010;Palatenda;Rumble Mumble Band;22.00;Tortona;(AL)"; Data[3] = "10;10;2010;Voci in Tour;Renato Saracina & Friend's;20.45;Brisighella;(RA)"; Data[4] = "27;10;2010;Rassegna teatrale;Fliness Quartet;21.30;Arezzo; "; Data[5] = "15;11;2010;Canti in villa;Scuola Vinicio Galbini, Draghi;20.00;Rovereto;(TN)"; Data[6] = "30;11;2010;Motoraduno;Red-Blue Rider 1987;14.00;Brisighella;(RA)";


_________________________________________________




IL PROBLEMA

Quando effettui una ricerca per mese, e ti capita (esempio) il mese di ottobre, vale a dire il 10 (vedi mio "database"), per poter visualizzare tutti gli eventi del mese 10 hai due possibilità: 1) continui a cliccare sul pulsante "Cerca" e ad uno ad uno visualizzi i vari eventi del mese di ottobre (finchè si esauriscono); 2) continui a premere il tasto invio nella tua tastiera (finchè si esauriscono gli eventi).

E QUI VI CHIEDO AIUTO...

Esiste un'alternativa? Ad esempio, quando cerco il mese 10, non è possibile visualizzare tutti gli eventi in un colpo solo (tutti in un'unica lista sotto il Risultato)? Tenete presente che gli eventi in un solo mese possono essere anche 30 o 40. (il database che ho preparato con 6 eventi, il db_eventi.js, è solo una prova)

Si può fare? Se sì... cosa devo aggiungere?

PS: so benissimo che con php, asp, ecc. tutto diventa più facile, ma io non conosco nulla di quei linguaggi...