Ciao a tutti sono Giancarlo,
Ho urgente bisogno di aiuto per adattare un data base in javascript(l'unico) che ho trovato in giro.
Ho già modificato alcune cose,ma da qui in poi proprio non riesco...
In pratica si vede il campo dove uno scrive il suo nome es R.Bianchi,a fianco il bottone che avvia la ricerca e sotto il campo per la risposta.
Cosa non funge: se premo sul pulsante di ricerca senza scrivere niente nel campo mi fa vedere in sequenza tutto il database mentre vorrei che non facesse proprio niente.
Mi piacerebbe poi che il campo del risultato non fosse visibile ma apparisse solo dopo avvenuta ricerca magari esteticamente più appariscente con la risposta trovata nella ricerca.
Preciso che il database ha un uso di sola cortesia estetica.
E' possibile?
posto qui sotto lo script come da me modificato.
Ringrazio tutti
Ciao Gian
<script language="JavaScript" type="text/javascript">
//<![CDATA[
<!-- Start script
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 = 2;
var iName = 1;
var irisposta = 2;
// ora creiamo un Array
var Data = new createArray(Entries);
Data[1] = "Cosentini;Roberto;via Righi. 14;80147;Napoli;+39-081-604594;cosentini@iol.it";
Data[2] = "Annunziata;Pasquale;via Trasaghis. 5; 00188;Roma;+39-06-33625601;mc0414@mclink.it";
Data[3] = "Rossi;f.rossiUgopiazza Dante. 240120Bologna+39-051-236789rossi@galaxia.it";
Data[4] = "Damiani;Carlo;via G.Cursi 12;20123;Milano;+39-02-9836728;damiani@netmag.com";
Data[5] = "Vannini;Carlo;Corso Umberto 12;80100;Napoli;+39-081-6790212;vannini@icom.it";
Data[6] = "panini;Carla;Corso Umberto 12;80100;Napoli;+39-081-6790212;vannini@icom.it";
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 <= number2; 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("Fine della lista trovata.\n Oppure: La parola digitata non è presente nel Database! \nPremi di nuovo 'Cerca >>>' per rivisualizzare il primo della lista !");
ResetSearch();
return;
}
var buf = "";
for(var i = 1; i <=Fields; i++)
{
buf = GetField(Data[j],i);
document.SearchForm.elements[i+3].value = buf;
}
}
// end script -->
//]]>
</script>
<form name="SearchForm" onsubmit="TypeNext();return false" id="SearchForm">
<input name="Text" type="text" /> <input name="FindNext" type="submit" value="Cerca >>>" /> <input name="NewSearch" type="reset" value="Nuova ricerca" style="display:none" onclick=
"ResetSearch();" />
Ricerca per: <select size="1" style="display:none">
<option>
Cognome
</option>
<option>
Nome
</option>
<option>
Indirizzo
</option>
<option>
C.A.P.
</option>
<option>
Città
</option>
<option>
Numero telefonico
</option>
<option>
Indirizzo E-Mail
</option>
</select>
<font color="#FF0000" face="Arial">Questo è il risultato:</font>
<input name="Result2" type="option2" size="50" />
</form>