Ho impostato uno script per la ricerca interna al mio sito. Lo script è funzionante solo che vorrei migliorarlo potendo specificare url e keywords in un documento xml separato. Il file javascript dovrebbe quindi leggere i tag del file xml e su quelli impostare la ricerca.
vi posto qui il mio script, qualcuno sa come poterlo modificare per ottenere il risultato desiderato?
codice:function nullOptions(aMenu){ tot=aMenu.options.length; if (aMenu.options.length>0) for (i=0;i<tot;i++){ aMenu.options[i]=null } aMenu.options.length=0; } function avviaRicerca(){ nullOptions(document.ricerca.risultato); URLs=new Array() titls=new Array() Kwds=new Array() URLs[0]="esercizi.xml"; titls[0]="Esercizi"; Kwds[0]="esercizi, esercizio, xml, xsl, css, java"; /*qst è solo un esempio, cmq ora ho qst 3 array in cui inserisco i riferimenti alle pagine del sito. Sono questi i valori che vorrei salvare in un file xml*/ var joined=new Array() //crea un nuovo array unendo tutte le keywords { for (i=0;i<URLs.length; i++){ joined[i]=Kwds[i] } Searchphrase=document.ricerca.testoCercato.value j=0; checker=0; if (document.ricerca.testoCercato.value.length<1){ alert('Inserisci la parola o la frase da ricercare.'); } else { var myFoundURL=new Array(); var myFoundText=new Array(); for (i=0;i<URLs.length; i++){ if (joined[i].indexOf(Searchphrase.toLowerCase())>-1){ checker+=1; j++; myFoundURL[j]=URLs[i]; myFoundText[j]=titls[i]; } } if (checker>0){ document.ricerca.risultato.options[0]=new Option('Risultati: '+checker,'') for (j=1;j<checker+1;j++){ document.ricerca.risultato.options[j]=new Option(myFoundText[j],myFoundURL[j]); } } else { alert('Spiacente, nessun risultato corrisponde alla tua richiesta.') } } } } function searchGo(){ if (document.ricerca.risultato.selectedIndex>0){ aux=document.ricerca.risultato.options[document.ricerca.risultato.selectedIndex].value; xsl=""; /*qui sono presenti una serie di istruzioni che permettono di attribuire al documento il corretto foglio di stile*/ caricaDocumento(aux, xsl); //funzione che carica effettivamente il documento } else { alert("Seleziona un'opzione nel riquadro a lato.") } }

Rispondi quotando