Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [ajax] effettuare ricerche nel database in real time

    sono sicuro di aver letto da qualche parte che con ajax si potevano effettuare delle ricerche nel database mentre l'utente digitava le lettere nel campo ricerca... qualcuno mi può indirizzare a qualche tutorial .... oppure spiegarmi in linee generali come funziona??


    grazie in anticipo

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Qualcosa di simile? http://www.pusceddu.it/htmlit/Italia/trova.asp

    Pero' il tutorial non l'ho ancora preparato...

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    si!!
    qualcosa di simile...
    mi spieghi come l'hai realizzato?? diciamo che la richiesta ad ajax la sò fare, mi interessa sapere come hai implementato la ricerca... innanzitutto da quando ho capito la ricerca parte quando ci sono almeno 3 caratteri all'interno del campo ricerca... ma ogni quanto effettui la richiesta asincrona?? soprattutto in javascript qual'è il comando per capire quando il campo ricerca è stato modificato??

    grazie

  4. #4
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    ok adesso gli dò una lettura anche se io avevo pensato a qualcosa di diverso, non a un "search suggest", ma ad una ricerca in real time che mi visualizzasse direttamente i risultati (cioè una tabella con le righe che soddisfano i miei criteri di ricerca), comunque penso che la logica è la stessa...

    grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    110
    Io la trovo fastidiosa una ricerca di questo tipo e preferisco sempre un bottone di conferma comunque penso che tu debba far partire la chiamata asincrona dall'evento onkeypress/onclick a seconda degli input.

    Metti che hai un form con più parametri di ricerca:

    codice:
    <form name="form1" id="form1">
    <input type="text" name="text1" onKeyPress="caricaAjaxDaForm('contenuto-dinamico')">
    <input type="checkbox" name="check1" onclick="caricaAjaxDaForm('contenuto-dinamico')">
    <select name="select1" onchange="caricaAjaxDaForm('contenuto-dinamico')">
    <option value='0'></option>
    <option value='1'>Ciccio</option>
    <option value='2'>Panzone</option>
    </select>
    </form>
    prepari innanzitutto una funzione che ti costruisca la stringa parametri (che sostituisce la submit) e che richiami la tua funzione ajax passandoglieli. Tipo questa:

    codice:
    function caricaAjaxDaForm(myid) {
    	
    	// variabili di funzione
    	var
    	param = "",
    	obj_form = document.form1;
    	
    	for(i=0;i<obj_form.elements.length;i++) {
    		switch(obj_form.elements[i].type) {
    		case "text":
    		case "hidden":
    		case "select-one":
    			param += obj_form.elements[i].name + "=" + obj_form.elements[i].value + "&";
    			break;
    		case "checkbox":
    			param += obj_form.elements[i].name + "=" + obj_form.elements[i].checked + "&";
    			break;
    		}
    	}
    	if (i>0) param = param.substr(0, param.length - 1);
    	
    	return caricaAjax(param,myid);
    }

    La division mydiv è quella che devi passargli per riempirla col risultato.
    La funzione caricaAjax crea l'oggetto xmlhttprequest, se ne hai bisogno leggiti il tutorial di html.it
    In questo modo che ad ogni evento di quegli input farai la tua chiamata con tutti i filtri aggiornati.

    Spero ti sia stato utile ma se c'è un metodo migliore per realizzarlo, ben venga!
    Ciao
    Marco

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.