Avatar billede websitenewbie Nybegynder
25. juni 2013 - 13:39 Der er 38 kommentarer og
1 løsning

Autocomplete i asp

jeg står og manlger en autocomplete funktion til min hjemme side som er forbundet med en database.
jeg har en asp side som jeg har til at hente dataen fra databasen og jeg har også fundet en autocomplete men jeg kan ikke rigtig få de 2 til at virke sammen.
jeg prøver at få http://api.jqueryui.com/autocomplete/#option-source til at virke sammen med min asp kode

er der nogen der kan hjælp mig med dette?
Avatar billede jakobdo Ekspert
25. juni 2013 - 14:16 #1
Du skal jo "bare" sørge for at den "Source" du anvender i jquery ui autocomplete, rammer din ASP side og den smider JSON retur.
Avatar billede websitenewbie Nybegynder
25. juni 2013 - 14:17 #2
Hvad er JSON?
Avatar billede jakobdo Ekspert
25. juni 2013 - 14:22 #3
Prøv at se output her: http://jqueryui.com/resources/demos/autocomplete/search.php?term=ja

Sådan skal dit output være. (eller sådan kan det blandt andet også være)

www.json.org
Avatar billede websitenewbie Nybegynder
25. juni 2013 - 14:26 #4
ahh hvordan ved den så hvilken af dem den skal tag?
Avatar billede jakobdo Ekspert
25. juni 2013 - 14:33 #5
Hvis vi siger du i din database har nogle navne:

Mogens
Morten
Martin
Maria
Mette
Marta

jquery ui autocomplete, vil automatisk smide: ?term=SØGEORD mod din "søge-kode"
Så hvis du opretter search.asp, og du laver en autocomplete søgning på: ma, så vil den ramme search.asp med:

search.asp?term=ma

I search.asp, skal du så tage "term" fra GET og smide ind i en søgning mod din database.

Måske noget ala:

SELECT * FROM brugere WHERE navn LIKE "TERM"*
Avatar billede websitenewbie Nybegynder
25. juni 2013 - 14:35 #6
ahhhh det giver meget mere mening end det jeg sad og prøvede på^^
Avatar billede websitenewbie Nybegynder
26. juni 2013 - 08:51 #7
jeg har stadig problemer med at få den til at virke
min kode til siden med input på ser så dan her ud:

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Autocomplete - Remote datasource</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="css/style.css" />
<style>
.ui-autocomplete-loading {
background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat;
}
</style>
<script>
$(function() {
function log( message ) {
$( "<div>" ).text( message ).prependTo( "#log" );
$( "#log" ).scrollTop( 0 );
}
$( "#bruger" ).autocomplete({
source: "autotest.asp",
minLength: 0,
select: function( event, ui ) {
log( ui.item ?
"Selected: " + ui.item.value :
"Nothing selected, input was " + this.value );
}
});
});
</script>
</head>
<body>
<div class="ui-widget">
<label for="bruger">bruger: </label>
<input id="bruger" />
</div>
<div class="ui-widget" style="margin-top: 2em; font-family: Arial;">
Result:
<div id="log" style="height: 200px; width: 300px; overflow: auto;" class="ui-widget-content"></div>
</div>
</body>
</html>
og min source side ser således ud:
<!--#include file="ssi/45tn73gf4347y.asp"-->

<html>
<body>
<%
    strSQL = "SELECT * FROM `bruger` WHERE `Kunde navn` LIKE '%"&request.querystring("term")&"%'"
    response.write strsql
    set database = Con.Execute(strSQL)
    do while not database.EOF
        iResult = iResult + "{'value':'"&database("kunde navn")&"'}"
        database.movenext
    loop
    response.write "["&(iResult)&"]"
%>
</body>
</html>
Avatar billede jakobdo Ekspert
26. juni 2013 - 09:00 #8
Smid evt. din kode online eller i jsfiddle, så kan jeg se om det virker eller ej.

Ang. json og asp, så kig evt. på dette: https://code.google.com/p/aspjson/
Avatar billede websitenewbie Nybegynder
26. juni 2013 - 09:09 #9
virker asp i jsfiddle?
Avatar billede jakobdo Ekspert
26. juni 2013 - 09:15 #10
Nej, men du kan jo teste din asp ved at kalde den i browseren ala:

search.asp?term=we

Og resten af din kode, skulle jo gerne virke i jsfiddle, det er jo ren html/js
Avatar billede websitenewbie Nybegynder
26. juni 2013 - 09:19 #11
min search.asp?term=we virker det er resten jeg ikke er sikker på
Avatar billede jakobdo Ekspert
26. juni 2013 - 09:24 #12
Link til din side, så skal jeg kigge på det.
Og ellers smid det i jsfiddle.

Jeg har ikke en asp server, så gider ikke til at sætte noget op. :o)
Avatar billede websitenewbie Nybegynder
26. juni 2013 - 09:25 #13
ahh
Avatar billede websitenewbie Nybegynder
26. juni 2013 - 09:34 #14
Avatar billede websitenewbie Nybegynder
26. juni 2013 - 09:37 #15
login heder test
kode er test
Avatar billede jakobdo Ekspert
26. juni 2013 - 09:40 #16
Du er tæt på.

Din autotest.asp smider dog for meget info ud.
Hvis jeg skriver ja, smider den dette retur:

<html>
<body>
SELECT * FROM `Kunder` WHERE `Kunde navn` LIKE '%ja%'[{'value':'Jan Henriksen'}{'value':'Jakob Kristiansen'}{'value':'Jacob Jensen'}{'value':'Janni S&#65533;rensen'}{'value':'Tanja Maria R&#65533;nhoff'}{'value':'Jan & Inge L&#65533;tzen'}{'value':'Sonja Clausen'}{'value':'Anja Simonsen'}{'value':'Bjarne Lerche'}{'value':'Jackie Pallesen'}{'value':'Murermester Jan Christensen'}{'value':'Tanja og Brian Watson'}{'value':'Nadja Chabert'}{'value':'Susanne N&#65533;rfjand'}{'value':'Anja & Steen'}]
</body>
</html>

Hvis du sammenligner denne:

http://jqueryui.com/resources/demos/autocomplete/search.php?term=ja

med denne:

http://lagersystemet.dk/fs/autotest.asp?term=ja

Håber jeg du kan se forskellen.
Avatar billede websitenewbie Nybegynder
26. juni 2013 - 09:41 #17
doh
Avatar billede websitenewbie Nybegynder
26. juni 2013 - 09:45 #18
giver det en forskel om jeg har " " omkring data eller ' '?
Avatar billede jakobdo Ekspert
26. juni 2013 - 09:45 #19
Mener json "standard" er " og ikke ', men tror ikke det gør en forskel lige her.
Avatar billede websitenewbie Nybegynder
26. juni 2013 - 09:47 #20
ok er der noget bestemt jeg skal gører for at få den til at dataen som JSON?
Avatar billede jakobdo Ekspert
26. juni 2013 - 10:05 #21
Du kunne vel prøve at fjerne <html> osv...

<html> <---
<body> <---
<%
    strSQL = "SELECT * FROM `bruger` WHERE `Kunde navn` LIKE '%"&request.querystring("term")&"%'"
    response.write strsql
    set database = Con.Execute(strSQL)
    do while not database.EOF
        iResult = iResult + "{'value':'"&database("kunde navn")&"'}"
        database.movenext
    loop
    response.write "["&(iResult)&"]"
%>
</body> <---
</html> <---

Og så finde en måde, hvorpå asp kan angive en HEADER, så den bliver json eller noget.

Ellers tror jeg snart du skal lære google.dk
Den kan faktisk finde svaret på ret mange ting.
Avatar billede websitenewbie Nybegynder
26. juni 2013 - 11:42 #22
nu har jeg fjernet de ting du forslog og inkluderede en side der skulle lave det til json hvis jeg har forstået det rigtigt
min source ser sådan her ud nu:

<!--#include file="ssi/45tn73gf4347y.asp"-->
<!--#include file="JSON.asp"-->
<%
    strSQL = "SELECT * FROM `Kunder` WHERE `Kunde navn` LIKE '%"&request.querystring("term")&"%'"
    set database = Con.Execute(strSQL)
    iResult = "[{'value':'"&database("kunde navn")&"'}"
    do while not database.EOF
        iResult = iResult + ", {'value':'"&database("kunde navn")&"'}"
        database.movenext
    loop
    response.write ""&(iResult)&"]"
%>

og den anden har jeg ikke ændret
jeg syntes ikke lige jeg kan se hvad det er jeg gør forkert
Avatar billede jakobdo Ekspert
26. juni 2013 - 11:50 #23
Mit sidste bud er du ikke arbejder i UTF-8.
Jeg kan i hvert fald se dine ÆØÅ'er ser mærkelige ud.
Avatar billede websitenewbie Nybegynder
26. juni 2013 - 12:21 #24
ved du om problemet liger i min source eller siden med inputet?
Avatar billede jakobdo Ekspert
26. juni 2013 - 13:03 #25
Du burde gøre "begge" filer til utf-8.
Det er en god start.
Avatar billede websitenewbie Nybegynder
26. juni 2013 - 13:56 #26
sorry jeg er så clueless med det her men nu har jeg skift til utf-8 på begge og det har ikke rigtig ændret noget ud over at nu ser å ø og æ mærkelig ud
har du nogle idéer til hvor jeg ellers kan finde en lignende funktion hvis ikke jeg kan få den her til at virke?
Avatar billede jakobdo Ekspert
26. juni 2013 - 14:10 #27
Problemet er nok desværre ikke koden. Det er dig som ikke forstår hvad du roder med.

Du har jo indsat dette i din "søge" kode:

<meta charset="utf-8" />

Du skal finde noget kode, som konvertere dit output til json / utf-8.

I php ville man f.eks. gøre sådan:
header('Content-Type: application/json; charset=utf-8');

Men data fra din database, skal også gerne være utf-8
Avatar billede websitenewbie Nybegynder
26. juni 2013 - 14:24 #28
du har helt ret i at jeg ikke rigtig ved hvad jeg laver lige pt da jeg ikke rigtig plejer at arbejde med javascript og mere complex asp
Avatar billede jakobdo Ekspert
26. juni 2013 - 14:25 #29
Det ser ud til at din "html/js" er korrekt.
Det er din "søgning" som "fejler", er mit bud...
Avatar billede jakobdo Ekspert
26. juni 2013 - 14:41 #30
Nu har jeg lige taget din kode og smidt det på en php server.

Se her: http://codebreaker.dk/exp/982834/

Prøv f.eks. at skriv et bogstav...

Det er begrænset med navne bagved, så det er ikke alt som giver hits...
Avatar billede websitenewbie Nybegynder
26. juni 2013 - 15:09 #31
jeg har lavet content type om til json med charset iso-8859-1 men jeg syntes ikke at jeg får noget på input siden
Avatar billede jakobdo Ekspert
26. juni 2013 - 15:12 #32
Prøv lige at ret, så denne:

iResult = iResult + "{'value':'"&database("kunde navn")&"'}"

kun hedder:

iResult = iResult + "{'"&database("kunde navn")&"'}"
Avatar billede websitenewbie Nybegynder
27. juni 2013 - 10:21 #33
jeg har lavet den ændring du forslog men det virker stadig ikke jeg tro min source er som den skal være så jeg tro måske problemet lige i html/js koden
Avatar billede jakobdo Ekspert
27. juni 2013 - 14:38 #34
Jeg ser netop...
Dit output er "forkert".

Dit output er sådan her:
[{'Jan Henriksen'},{'Susanne Nørfjand'},{'Anja & Steen'}]

Men prøv at ret det, så det bliver sådan her:
["line","stine","tine","trine"]
Avatar billede websitenewbie Nybegynder
28. juni 2013 - 07:56 #35
super mange gange tak det var det fejlen var
smid et svar så du kan få din ret tjente points
Avatar billede jakobdo Ekspert
28. juni 2013 - 08:57 #36
Svar!
Avatar billede jakobdo Ekspert
28. juni 2013 - 09:30 #37
Takker for point.
Avatar billede websitenewbie Nybegynder
28. juni 2013 - 14:28 #38
du har fortjent dem
Avatar billede jakobdo Ekspert
01. juli 2013 - 14:18 #39
Det synes du alligevel. :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester