39 messaggi dal 31 maggio 2012
E' possibile in Classic ASP dare la funzione di autocompletamento ad un campo textbox di un form? I dati dovranno essere presi da database ovviamente, si può in classic ASP? Oppure è una funzione unica di asp.net?

ps: scusate se ho postato qui ma nella sezione ASP il forum è di sola lettura.
Si può fare anche in ASP.
Puoi fare una chiamata ajax al database e ottenere ad es. in JSON i record che soddisfano il criterio di autocompletamento. A questo punto diventa una questione di user interface: css e via.
Con jquery è tutto molto semplice.

Ormai programmano tutti... ma la professionalità appartiene a pochi
39 messaggi dal 31 maggio 2012
Su internet gli esempi di asp.net nei confronti di asp sono tipo 20/1.
In ogni caso con le mie ricerche ho trovato solo funzioni con jquery che non sfruttano il database.

Potresti darmi una dritta?
Purtroppo non ho il tempo di scrivere il codice (magari se qualcuno lo può gentilmente fare...) però posso indirizzarti.
Crei una pagina asp che recupera i dati dal database passando l'inizio della stringa di autocompletamente con query "Where campo like '" & filtro &"%' " Questa pagina restituisce puramente del testo in formato JSON (trovi facilmente un esempio su internet).
Crei la pagina con il tuo form e il tuo campo dove deve essere inserito l'autocompletamento. Poi onde evitare di impazzire con css e jquery puoi usare:
http://jqueryui.com/demos/autocomplete/
Modificato da manuel0081 il 30 agosto 2012 15.10 -

Ormai programmano tutti... ma la professionalità appartiene a pochi
39 messaggi dal 31 maggio 2012
Allora ho creato la pagina dove prelevo i dati:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
response.expires=-1
Dim rsWords
Dim rsWords_numRows
Dim q
Dim b
Dim hint
q=ucase(request.querystring("q"))
b=(request.querystring("b"))
f=(request.querystring("f"))
a=(request.querystring("a"))
hint=""
Set rsWords = Server.CreateObject("ADODB.Recordset")
rsWords.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("utenti.mdb")
rsWords.Source = "SELECT referente,ditta,sede,recapito  FROM tabella  WHERE (sede LIKE'" + q + "%') ORDER BY referente ASC"
rsWords.CursorType = 2
rsWords.CursorLocation = 2
rsWords.LockType = 3
rsWords.Open()
rsWords_numRows = 0

If Not rsWords.EOF Then
  Do While Not rsWords.EOF
    If trim(hint) = "" Then
      hint = "<a href=""javascript:setTextBox('" & rsWords("sede") & "','" & b & "','" & f & "','" & a & "');"">" & rsWords("sede") & "</a>"
    Else
      hint = hint & " , <a href=""javascript:setTextBox('" & rsWords("sede") & "','" & b & "','" & f & "','" & a & "');"">" & rsWords("sede") & "</a>"
    End If
    rsWords.MoveNext()
  Loop
End If
if trim(hint)="" then 
  response.write("Nessun risultato")
else
  response.write(hint)
end if

rsWords.Close()
Set rsWords = Nothing
%>


e quella con il "form":

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<html>
<head>
<script src="clienthint.js"></script> 
</head>
<body>
<%
'this displays the value of the textbox after the form is submitted
If trim(Request("txt1")) <> "" Then
  Response.Write "You entered:"
  Response.Write "<b>" & Request("txt1") & "</b><br /><br />"
End If
%>
<form name="form1" action="clienthint.asp" method="post">
Enter Word:
<input type="text" name="txt1" id="txt1" onKeyUp="showHint(this.value,'txt1','form1',true)">
<input type="submit" name="submit" value="submit">
</form>
<p>Suggestions: <span id="txtHint"></span></p> 
</body>
</html>


Non ricordo bene come fare a prelevare un intero recordset invece delle singole query,in pratica quando cerco una voce vera tra referente,ditta,sede,recapito mi deve visualizzare tutte e 4 le voci e non solo quella che cerco. Come devo fare?
hai guardato il codice di http://jqueryui.com/demos/autocomplete/?

Ormai programmano tutti... ma la professionalità appartiene a pochi
39 messaggi dal 31 maggio 2012
Si ma l'autocompletamento con jquery funziona in modo preimpostato, non prende i dati da database

Sarebbe l'ideale altrimenti
Modificato da lib3r74 il 30 agosto 2012 15.36 -
http://jqueryui.com/demos/autocomplete
menu di destra, ci sono diversi casi.
Prova "remote datasource" dove puoi impostare la tua pagina che ricava i dati da database, poi,come vedi, ce ne sono altri
Modificato da manuel0081 il 30 agosto 2012 15.45 -

Ormai programmano tutti... ma la professionalità appartiene a pochi

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.