Avatar billede bodyguard Nybegynder
16. maj 2010 - 20:51 Der er 2 kommentarer og
1 løsning

AutoComplete flere inputs ud fra indtastning af ID

Hej Eksperter,

Jeg er ved at lave et lille rapport system som skal bruges til et event.

Operatørene ved skærmen har brug for hurtigt og nemt at kunne indtaste nogle data.

I den forbindelse mangler jeg et autoComplete script.

Der er tale om adresser og når man har indtastet ID i et input og tabber væk skal der hentes data til feldterne: Adresse, post nr, by navn og Bemærkning.


Jeg håber virkelig der er nogen som kan hjælp her.
Avatar billede janmanden Nybegynder
16. maj 2010 - 21:09 #1
Hvad bruger du af platform? php, asp, asp.net? Hvad med scriptsprog? php, vbscript, c#, vb, andet?
Avatar billede bodyguard Nybegynder
16. maj 2010 - 21:16 #2
Det er ASP classic :)
Avatar billede janmanden Nybegynder
16. maj 2010 - 22:04 #3
Du har en java script:
<script type="text/javascript">
var autoid = /^\d+/;
function fnc_setinput(id, value) {
    if (document.getElementById(id))
        document.getElementById(id).value = value;
}
function fnc_autoCompleteID(value) {
    if (autoid.test(value)) {
        document.getElementById('autoCompleteFrame').src = '/autoCompleteID.asp?id='+value;   
    }
}
</script>

Og I formularen har du vel et input felt hvor event onblur eller onkeyup eller whatever skal tilføjes.

<input id='id' name='id' onblur='autoCompleteID(this.value)'>

Nederst på siden indsætter du så et skjult iframe.
<frame id='autoCompleteFrame' style='display:none'></iframe>


Så laver du en ekstra asp fil, der hedder autoCompleteID.asp, der indeholder et opslag i en database. Tjek lige selv at felt navnene passer og at de iøvrigt matcher de navne der bliver brugt for id i input for dem. Måske skal ID ikke bruges som opslag men telefonnr eller sådan noget, så der skal SQL WHERE jo lige rettes i så fald.

<%@LANGUAGE="VBSCRIPT"%>
<%

If Not (StrComp("" & Request.ServerVariables("HTTP_REFERER"), "http://" & Request.ServerVariables("HOST_NAME"), 1) = 1) Then
    Response.End
End If

id = Request.QueryString("id")
If Not (isNumeric(id) And Len("" & id) > 0 And True) Then
    id = 0
    Response.End
End If   

Set RS = Server.Create("ADODB.Recordset")
RS.CursorType = 1
RS.LockType = 1
RS.ActiveConnection = myConnectionString
RS.Source = "SELECT navn, adresse, post_nr, by,  navn, bemaerkning FROM addresser WHERE id=" & id
RS.Open

script_string = ""
If Not RS.EOF Then
    script_string = "<script type='text/javascript'>" & vbCrLf
    For Each Field In RS.Fields
        script_string = script_string & "parent.fnc_setinput('" & Field.Name & "', '" & Replace("" & Field.Value, "'", "") & "');" & vbCrLf
    Next
    script_string = script_string & "</script>"
End If
RS.Close
Set RS = Nothing
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<body style='margin:0px;padding:0px;'>
<%=script_string%>
</body>
</html>
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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