Salve, ho trovato in rete un javascript che gestisce un semplice database, adesso vorrei fare una modifica in quanto vorrei che il form non accettasse valori composti da meno di 13cifre. Mi date una mano?
Adesso se non inserisco nessun valore mi rstituisce l'intero database cosa che non vorrei.
Grazie Mille
<script language="javascript">
var tutti = "_and"
var alcuni = "_or"
var tipo_ricerca = ""
var s = 0
var o = 5
var copia_risultati = new Array()
var doc = parent.frames[1].document
function filtro (query) {
if (query.charAt(0) == "+")
{
query = query.substring (1, query.length)
tipo_ricerca = tutti
}
else
{
tipo_ricerca = alcuni
}
while (query.charAt(0) == " ") query = query.substring(1, query.length)
document.forms[0]._query.value = query
while (query.charAt(query.length - 1) == " ") query = query.substring(0, query.length - 1)
document.forms[0]._query.value = query
formatta_stringa (query)
}
function formatta_stringa (query) {
var stringa_formata = query.split (" ")
if (tipo_ricerca == "_or")
cerca_or (stringa_formata)
else
cerca_and (stringa_formata)
}
function cerca_or (stringa_formata) {
var matrix = new Array()
for (i = 0; i < db.length; i++)
{
var stringaConfronto = db.toUpperCase()
var stringaUtile = stringaConfronto.substring(0,stringaConfronto.indexOf("|"))
for (j = 0; j < stringa_formata.length; j++)
{
var stringaUtente = stringa_formata[j].toUpperCase()
if (stringaUtile.indexOf(stringaUtente) != -1)
{
matrix[matrix.length] = db
break
}
}
}
verifica(matrix)
}
function cerca_and (stringa_formata) {
var matrix = new Array()
for (i = 03; i < db.length; i++)
{
var coincidenza = true
var stringaConfronto = db.toUpperCase()
var stringaUtile = stringaConfronto.substring(0,stringaConfronto.indexOf("|"))
for (j = 0; j < stringa_formata.length; j++)
{
var stringaUtente = stringa_formata[j].toUpperCase()
if (stringaUtile.indexOf(stringaUtente) == -1)
coincidenza = false
}
if (coincidenza)
matrix[matrix.length] = db
}
verifica(matrix)
}
function verifica (matrix) {
if (matrix.length == 0)
{
doc.open()
doc.write('<html><head></head><body bgcolor="white"><hr size="1" noshade>')
doc.write('<font face="Verdana, Arial, sans" size="3"><div align="center">Spiacente, non ho trovato elementi corrispondenti</div></font><hr size="1" noshade></body></html>')
doc.close()
}
else
{
array_risultati = matrix.sort()
stampa_risultati(array_risultati, s, o)
}
}
function stampa_risultati(array_risultati, s, o) {
var limite = (array_risultati.length < s + o) ? array_risultati.length : (s + o)
doc.open()
doc.write('<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><base TARGET="_new"></head><body bgcolor="white">' + '<table width="90%" border="0">' + '<tr><td><hr size="1" noshade><tr><td><font face="Verdana, Arial, sans" size="2"><b>Chiave di ricerca: ' + '<i>' + parent.frames[0].document.forms[0]._query.value + '</i>' + '<br>Risultati:' + '<i>' + ' da ' + (s + 1) + ' a ' + limite + ' di ' + array_risultati.length + '</i></font>' + '</b><hr size="1" noshade>')
for (i = s; i < limite; i++)
{
var splitta = array_risultati.split("|")
doc.write('<tr><td><dl><font face="Verdana, Arial, sans" size="2">' + splitta[0].link(splitta[2]) + ' <i>' + splitta[1] + '</i></font>')
}
doc.write('</table>')
visualizza_pulsanti (array_risultati, s, o)
doc.write('</body></html>')
doc.close()
}
function visualizza_pulsanti(array_risultati, s, o) {
doc.write('<form><div align="center">')
if (s + o < array_risultati.length)
{
doc.write('<input type="button" value="successivi" onClick="parent.frames[0].stampa_risultati(parent.frames[0].array_risultati, ' + (s + o) + ', ' + o + ')">')
}
if (s > 0)
{
doc.write('<input type="button" value="precedenti" onClick="parent.frames[0].stampa_risultati(parent.frames[0].array_risultati, ' + (s - o) + ', ' + o + ')">')
}
doc.write('</div></form>')
}
</script>
</head>
<body bgcolor="white">
<basefont face="Arial, Verdana, sans" size="2">
<form name ="cerca" onSubmit="filtro(document.forms[0].elements[0].value); return false">
<div align="center">
<table width="500" border="0">
<tr>
<td width="442"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">CERCA
NEL NOSTRO DATABASE</font><font face="Verdana, Arial, Helvetica, sans-serif" size="-2"> </font><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input type="text" name="_query" ddv-minlength=”5” size="30">
</font></td>
<td width="50">
<div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="help.html" target="bot">HELP</a></font></div>
</td>
</tr>
</table>
</div>
</form>
Adesso se non inserisco nessun valore mi rstituisce l'intero database cosa che non vorrei.
Grazie Mille
<script language="javascript">
var tutti = "_and"
var alcuni = "_or"
var tipo_ricerca = ""
var s = 0
var o = 5
var copia_risultati = new Array()
var doc = parent.frames[1].document
function filtro (query) {
if (query.charAt(0) == "+")
{
query = query.substring (1, query.length)
tipo_ricerca = tutti
}
else
{
tipo_ricerca = alcuni
}
while (query.charAt(0) == " ") query = query.substring(1, query.length)
document.forms[0]._query.value = query
while (query.charAt(query.length - 1) == " ") query = query.substring(0, query.length - 1)
document.forms[0]._query.value = query
formatta_stringa (query)
}
function formatta_stringa (query) {
var stringa_formata = query.split (" ")
if (tipo_ricerca == "_or")
cerca_or (stringa_formata)
else
cerca_and (stringa_formata)
}
function cerca_or (stringa_formata) {
var matrix = new Array()
for (i = 0; i < db.length; i++)
{
var stringaConfronto = db.toUpperCase()
var stringaUtile = stringaConfronto.substring(0,stringaConfronto.indexOf("|"))
for (j = 0; j < stringa_formata.length; j++)
{
var stringaUtente = stringa_formata[j].toUpperCase()
if (stringaUtile.indexOf(stringaUtente) != -1)
{
matrix[matrix.length] = db
break
}
}
}
verifica(matrix)
}
function cerca_and (stringa_formata) {
var matrix = new Array()
for (i = 03; i < db.length; i++)
{
var coincidenza = true
var stringaConfronto = db.toUpperCase()
var stringaUtile = stringaConfronto.substring(0,stringaConfronto.indexOf("|"))
for (j = 0; j < stringa_formata.length; j++)
{
var stringaUtente = stringa_formata[j].toUpperCase()
if (stringaUtile.indexOf(stringaUtente) == -1)
coincidenza = false
}
if (coincidenza)
matrix[matrix.length] = db
}
verifica(matrix)
}
function verifica (matrix) {
if (matrix.length == 0)
{
doc.open()
doc.write('<html><head></head><body bgcolor="white"><hr size="1" noshade>')
doc.write('<font face="Verdana, Arial, sans" size="3"><div align="center">Spiacente, non ho trovato elementi corrispondenti</div></font><hr size="1" noshade></body></html>')
doc.close()
}
else
{
array_risultati = matrix.sort()
stampa_risultati(array_risultati, s, o)
}
}
function stampa_risultati(array_risultati, s, o) {
var limite = (array_risultati.length < s + o) ? array_risultati.length : (s + o)
doc.open()
doc.write('<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><base TARGET="_new"></head><body bgcolor="white">' + '<table width="90%" border="0">' + '<tr><td><hr size="1" noshade><tr><td><font face="Verdana, Arial, sans" size="2"><b>Chiave di ricerca: ' + '<i>' + parent.frames[0].document.forms[0]._query.value + '</i>' + '<br>Risultati:' + '<i>' + ' da ' + (s + 1) + ' a ' + limite + ' di ' + array_risultati.length + '</i></font>' + '</b><hr size="1" noshade>')
for (i = s; i < limite; i++)
{
var splitta = array_risultati.split("|")
doc.write('<tr><td><dl><font face="Verdana, Arial, sans" size="2">' + splitta[0].link(splitta[2]) + ' <i>' + splitta[1] + '</i></font>')
}
doc.write('</table>')
visualizza_pulsanti (array_risultati, s, o)
doc.write('</body></html>')
doc.close()
}
function visualizza_pulsanti(array_risultati, s, o) {
doc.write('<form><div align="center">')
if (s + o < array_risultati.length)
{
doc.write('<input type="button" value="successivi" onClick="parent.frames[0].stampa_risultati(parent.frames[0].array_risultati, ' + (s + o) + ', ' + o + ')">')
}
if (s > 0)
{
doc.write('<input type="button" value="precedenti" onClick="parent.frames[0].stampa_risultati(parent.frames[0].array_risultati, ' + (s - o) + ', ' + o + ')">')
}
doc.write('</div></form>')
}
</script>
</head>
<body bgcolor="white">
<basefont face="Arial, Verdana, sans" size="2">
<form name ="cerca" onSubmit="filtro(document.forms[0].elements[0].value); return false">
<div align="center">
<table width="500" border="0">
<tr>
<td width="442"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">CERCA
NEL NOSTRO DATABASE</font><font face="Verdana, Arial, Helvetica, sans-serif" size="-2"> </font><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input type="text" name="_query" ddv-minlength=”5” size="30">
</font></td>
<td width="50">
<div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="help.html" target="bot">HELP</a></font></div>
</td>
</tr>
</table>
</div>
</form>