Newsgroup: it.comp.lang.javascript
Titolo: compatibilità con jquery

Ciao a tutti,
vorrei inserire nelle pagine del mio sito un semplice form per la ricerca di 
una parola che evidenzi anche i termini trovati.
Ho trovato googlando il js postato sotto, perfetto funziona a meraviglia ed 
è proprio quello che cercavo ma, purtroppo, se si trova in una pagina dove 
c'è un richiamo a jquery.js  non funge.
Non funziona nel senso che qualsiasi parola si ricerchi l'alert segnala 
"parola non trovata".
So che probabilmente sto chiedendo l'impossibile ma qualcuno di voi Maestri 
saprebbe darmi una dritta?
Nel caso potesse servire ho messo online una pagina di esempio, posto l'url 
in caso di richiesta.
Grazie in anticipo.
Fabrizio
Il js incriminato:
var word = '';
    var area = '';
    function $(id) {
        return document.getElementById(id);
    }
     function trim(value) {
       return value.replace(/^\s*(.+?)\s*$/, function($0, $1) {
            return $1;
       });
    }
    function findKey(word) {
         if ($('multiSearch').checked)
            arearicerca = trim($('area_di_ricerca').innerHTML);
        else
            arearicerca = trim(area)
        if ($('upperLower').checked)
            modifiers = 'gm'
        else
            modifiers = 'gim'
        if ($('exactWord').checked)
            word = '\\b' + word + '\\b';
        text_re = new RegExp(word , modifiers)
       if (arearicerca.match(text_re)) {
            var nmatch = 0;
            arearicerca = arearicerca.replace(text_re, function($0) {
                ++nmatch;
                return "<span class='foundword'>"+ $0 +"</span>";
            });
            $('area_di_ricerca').innerHTML = arearicerca;
         alert('Ho trovato ' + nmatch + ' risultato/i');
        }
        else {
            alert('parola non trovata');
        }
    }
    function doFind(value) {
        word = trim(value);
        if (word.length < 3) {
            alert('inserire una keyword di almeno 3 caratteri');
            return;
         }
        word = word.replace(/</, '&lt;').replace(/>/, '&gt;')
        findKey(word);
    }
    window.onload = function() {
        area = trim($('area_di_ricerca').innerHTML);
    }

Secondo me è il simbolo $ ad entrare in conflitto.
Prova il seguente:
http://api.jquery.com/jQuery.noConflict/
On Dec 30, 1:46 am, "Fabrizio Isegreti del mare"


 ha scritto nel messaggio 
news:ba3278fa-eaff-48bc...@g26g2000vbz.googlegroups.com...
Secondo me è il simbolo $ ad entrare in conflitto.
Prova il seguente:
http://api.jquery.com/jQuery.noConflict/
Grazie Oreste, era proprio quello il problema.
L'ho però risolto molto banalmente sostituendo tutti i caratteri "$" con 
"Jquery" e la cosa si è risolta.
Felice anno nuovo a tutti
Fabrizio


Due domande:
- Io ho esattamente lo stesso problema.. puoi dirmi dove hai sostituito 
i caratteri $? cioè su quali file? sul codice HTML oppure su uno dei 
file .js?
- Curiosità: che tipo di ricerca fa lo script? io attualmente ho 
inserito il motore di ricerca google, ma sarebbe bello poter inserire 
qualcosa di diverso che esegua le ricerche solo all'interno del sito.
grazie anticipatamente

 grazie anticipatamente
Di seguito il js che utilizzo, l'ho personalizzato.
In pratica dove leggi izio c'era il simbolo $.
Nella pagina/e che intendi eseguire la ricerca includi il testo interessato 
nell'id "corpo" (nel caso di questo script).
Questo l' utilizzo solo per la ricerca in pagine singole, per tutto il sito 
utilizzo asp.
Ciao
Fabrizio
*********
var word = '';
    var area = '';
       function izio(id) {
        return document.getElementById(id);
    }
    function trim(value) {
       return value.replace(/^\s*(.+?)\s*izio/, function(izio0, izio1) {
            return izio1;
       });
    }
    function findKey(word) {
        // MultiSearch
        if (izio('multiSearch').checked)
            arearicerca = trim(izio('corpo').innerHTML);
        else
            arearicerca = trim(area)
        // upperLower
        if (izio('upperLower').checked)
            modifiers = 'gm'
        else
            modifiers = 'gim'
        //exactWord
        if (izio('exactWord').checked)
            word = '\\b' + word + '\\b';
        text_re = new RegExp(word , modifiers)
        if (arearicerca.match(text_re)) {
            var nmatch = 0;
            arearicerca = arearicerca.replace(text_re, function(izio0) {
                ++nmatch;
                return "<span class='trovata'>"+ izio0 +"</span>";
            });
            izio('corpo').innerHTML = arearicerca;
         /*  alert('Ho trovato ' + nmatch + ' risultato/i'); ****questo lo 
ha eliminato izio*/
        }
        else {
   alert('parola non trovata');
        }
    }
    function doFind(value) {
            word = trim(value);
        if (word.length < 3) {
            alert('inserire una keyword di almeno 3 caratteri');
            return;
        }
        // La ricerca deve escludere i tag Html
        word = word.replace(/</, '&lt;').replace(/>/, '&gt;')
        findKey(word);
    }
    window.onload = function() {
        area = trim(izio('corpo').innerHTML);
    }
*****