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

    valorizzare più campi con Ajax Autocompleter

    sto usando Autocompleter (+ asp) per valorizzare dei campi in un form. Tutto funziona bene: in un campo si digitano 2-3 lettere e compare il div con dentro tutte le varie scelte. Il punto è che nelle scelte ci sono più valori (città, provincia, cap): esiste la possibilità che questi valori vengano inseriti in 3 campi diversi invece che in uno solo? Nelle caratteristiche di Autocompleter (Prototype e Scriptaculous) non trovo come poterlo fare. E' possibile farlo con un "onclick: document.write..." quando clicco su una scelta? Faccio presente che i campi sono in una pagina, mentre le scelte provengono da un'altra pagina...
    LIVE TO RIDE !!!
    www.motocustom.it

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Prova a vedere se questo può aiutarti.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Ho guardato ma sembrerebbe che non ci sia la maniera di valorizzare più campi contemporaneamente con il componente in questione. Ogni script deve essere associato ad un unico campo specifico.
    L'idea che avevo in mente era una cosa tipo questa:
    codice:
    [*]<%=Citta%>
    <span class="informal">, <%=Provincia%></span> (<%=rs("Sigla")%>) - 
    <span class="informal" onClick="document.getElementById('zip').value = <%=rs("Cap")%>">
    <%=rs("Cap")%></span>
    questo codice si trova nella pagina che riceve la richiesta ajax via post, ma non riesco ad inserire il valore nel campo zip della pagina principale, dopo aver fatto la scelta.
    Viceversa con la funzione callback, il campo viene valorizzato ma con un scritta di errore, perchè appunto non riceve il dato dalla pagina di richiesta...
    LIVE TO RIDE !!!
    www.motocustom.it

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Prova a postare la pagina pubblica funzionante, per vedere il tutto l'opera inserendo tutti i dati che dovrai "smistare" senza impegno provo a darci un occhio domani mattina.
    Saluti.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Il codice è banalissimo. Nell'head richiamo prototype e scriptaculous da google con uno script.
    Quindi gestisco il campo in cui voglio applicare l'auto compilazione con:
    codice:
    <input type="text" name="city" id="city" size="40" class="textboxR"/>
    [img]/IMMAGINI/CLIPART/load.gif[/img]
    <div id="suggerimenti_city" class="boxsuggerimenti"></div>
    <script type="text/javascript">new Ajax.Autocompleter("city", "suggerimenti_city", "Registra_autocomplete.asp", {minChars: 3, indicator: 'load'});
    </script>
    Nella pagina Registra_autocomplete.asp, c'è la richiesta dei dati dal database in base al request.form("city"), quindi viene compilato un ciclo con tutti i dati trovati:
    codice:
    [*]<%=Citta%>
    <span class="informal">, <%=Provincia%></span> (<%=rs("Sigla")%> ) - 
    <span class="informal"> <%=rs("Cap")%></span>
    La classe "informal" fa si che il valore sia visibile nel div "suggerimenti_city" senza però essere inserito nel campo "city", quando cliccato.
    Nella pagina di scriptaculous è presente questo esempio:
    codice:
    new Ajax.Autocompleter("autocomplete", "autocomplete_choices", "/url/on/server", {
     afterUpdateElement : getSelectionId });
    function getSelectionId(text, li) {
         alert (li.id); 
    }
    ma non sono riuscito a modificarlo per il mio uso: ho provato, ad esempio:
    codice:
    function getSelectionId(text, li) {
          document.getElementById("mio_secondo_campo").value = document.getElementById.("cap");  
    }
    dove "cap" dovrebbe essere il valore preso dalla pagina Registra_autocomplete.asp, dopo logicamente aver assegnato un id allo span, ma niente da fare....
    LIVE TO RIDE !!!
    www.motocustom.it

  6. #6
    RISOLTO! Ho modificato lo script di chiamata così:
    codice:
    new Ajax.Autocompleter("city", "suggerimenti_city", "Registra_autocomplete.asp", 
    {
    minChars: 3, indicator: 'load', afterUpdateElement: updateFields 
    });
    function updateFields(element, selectedElement) {
    var oResult = selectedElement.childNodes.item(1);
    $("secondo_campo").value = oResult.childNodes.item(1).innerHTML;
    $("terzo_campo").value = oResult.childNodes.item(3).innerHTML; 
    }
    mentre nella pagina Registra_autocomplete.asp si deve mettere così:
    codice:
    [*]
    <%=Citta%>
    <span class="informal">
    , <%=Provincia%> (
    <span class="a"><%=rs("Sigla")%></span>
    ) - 
    <span class="b"><%=rs("Cap")%></span>
    </span>
    modificando a seconda delle esigenze.
    Il tutto funziona alla grande su FF (3.6.7), un po' meno su IE 7: quando si inseriscono solo le prime 3 lettere e la lista delle città è lunga, tende ad impallarsi.
    Se a qualcuno interessa maggiori info sullo script, può contattarmi dal mio sito.
    Grazie ciao
    LIVE TO RIDE !!!
    www.motocustom.it

  7. #7
    Anch'io ho lo stesso problema..puoi gentilmente spiegarmi come lo hai risolto ?
    Ho bisogno di estrarre oltre al nome anche l'ID che andrà messo in un secondo campo del mio form

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 © 2024 vBulletin Solutions, Inc. All rights reserved.