taxitat
Messages postés38Date d'inscriptionmercredi 28 novembre 2007StatutMembreDernière intervention18 mars 2009
-
7 déc. 2007 à 16:02
taxitat
Messages postés38Date d'inscriptionmercredi 28 novembre 2007StatutMembreDernière intervention18 mars 2009
-
13 déc. 2007 à 18:19
Bonjour à tous,
J'ai recement trouvé un script sur ce site qui n'est autre qu'un moteur de recherche en javascript. Je l'ai adopté et modifié à ma guise et ça marche.
A présent, je voudrias créer une 2e recherche similaire mais avec des checkbox (voir le code plus bas) C'est à dire, qu'en cochant zero, une ou plusieurs cases j'obtienne un résultat. C'est bien là où ça coince!!! Je ne pense pas que cela soit très difficile à obtenir en ayant déjà la base. J'essaye depuis lundi, j'ai cherché sur le net, etc, mais je n'y arrive pas (mes connaissances en la matière sont très limités, dsl)
Voilà le script:
<html><head>
<meta http-equiv= "Content-Type" content="text/html; charset=windows-1252">
<title>Va chercher!!!</title>
<script language="JavaScript">
<!--
/*là c'est facile: mes variables*/
var item = new Array();c=0; item[c]=new Array("Corine","[mailto:corine@hotemail.com","chatain","bleu","80 corine@hotemail.com","chatain","bleu","80] kg","12","Bruxelles","Très sympa");
c++; item[c]=new Array("Cécile","[mailto:cecile@hotmail.com","blonde","marron","70 cecile@hotmail.com","blonde","marron","70] kg","11","Paris","super gentille et bien avenante");
c++; item[c]=new Array("Jeanne","[mailto:jeanne@hotmail.com","brune","vert","65 jeanne@hotmail.com","brune","vert","65] kg","12","Lille","nous étions au lycée ensemble");
/*Voilà la fonction qui ne marche pas. Je n'ai même pas réussi à la faire marcher avec une seule des trois colonnes de la recherche...*/
function valider(choisir) {
txt = frm.srchval.value.split(" ");
fnd = new Array(); total=0;
document.write("<html><head><title>Résultats de la recherche</title></head><center>Nom, email, Cheveux, Yeux, Poids, Etudes, Ville, Commentaire, \");
for (i = 0; i < item.length; i++) {
fnd[i] = 0; order = new Array(0, 1, 2, 3, 4, 5, 6, 7);
for (j = 0; j < order.length; j++)
for (k = 0; k < txt.length; k++)
if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != \"\")
fnd[i] += (j+1);
}
for (i = 0; i < fnd.length; i++) {
if (i%2 == 0) couleur=\"#FFFFFF\"; else couleur=\"#CCCCCC\";n 0; w -1;
for (j = 0;j < fnd.length; j++)
if (fnd[j] > n) { n = fnd[j]; w = j; };
if (w > -1) total += show(w, document, n);
fnd[w] = 0;
}
document.write("
/*La fonction qui marche (c'est à dire la 2e) en tappant kg, on obtient tous les résultats*/
function search(frm) {
txt = frm.srchval.value.split(" ");
fnd = new Array(); total=0;
document.write("<html><head><title>Résultats de la recherche</title></head><center>Nom, email, Cheveux, Yeux, Poids, Etudes, Ville, Commentaire, \");
for (i = 0; i < item.length; i++) {
fnd[i] = 0; order = new Array(0, 1, 2, 3, 4, 5, 6, 7);
for (j = 0; j < order.length; j++)
for (k = 0; k < txt.length; k++)
if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != \"\")
fnd[i] += (j+1);
}
for (i = 0; i < fnd.length; i++) {
if (i%2 == 0) couleur=\"#FFFFFF\"; else couleur=\"#CCCCCC\";n 0; w -1;
for (j = 0;j < fnd.length; j++)
if (fnd[j] > n) { n = fnd[j]; w = j; };
if (w > -1) total += show(w, document, n);
fnd[w] = 0;
}
document.write("
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 13 déc. 2007 à 18:01
Bonjour,
dans ta fonction valider tu passes en paramétre choisir que tu n'utilises pas par la suite et qui plus est tu mets
txt = frm.srchval.value.split(" ");
donc tu vas chercher ce qu'il y a dans le INPUT type text, tout ou presque faux...;0)
Première chose à faire il te faut récupérer les valeurs des checkbox cochés, pour ce faire tu parcours les éléments de la form et si ils sont checked tu stockes les value dans une string
en code cela donne cela dans une fonction par exemple
//--------------------------
function Recup_Choix( this_){
var szRetour ="";
//-- parcours les elements
for( var i = 0; i < this_.elements.length; i++){
var O_Elem = this_.elements[i];
taxitat
Messages postés38Date d'inscriptionmercredi 28 novembre 2007StatutMembreDernière intervention18 mars 20091 13 déc. 2007 à 18:19
Merci pour l'aide! Etant debutant, j'ai aussi exploré d'autres possibilités (sans jamais avoir un resultat positif concret, quand même) Je vais tester ce soir ou demain. Merci encore