Jeg kæmper lidt med noget remote scripting, men er ingen javascript-ørn og har svært ved at løse denne...
Jeg har en funktion, som i et andet script virker fint og returnerer indholdet til et listbox/select.
Nu vil jeg have en anden funktion næsten magen til, der returnerer indholdet til et input-felt.
Jeg ved bare ikke, hvordan jeg gør...
Her er funktionen, der udfylder en select/listbox:
function RemoteScriptListBox(lbname,SQL) dim comma,x,conn,rx,col1,col2 dim ret
set conn=server.CreateObject("ADODB.Connection") myconn = "DRIVER={SQL Server};SERVER=xxx;UID=xxx;pwd=xxx; DATABASE=xxx;" conn.open myconn
comma="" x=0
ret = ret & "var lb=" & lbname & ";"
'--create remote array ret = ret & "var _o0=new Array(" Set rx = conn.Execute(SQL) do while not rx.eof
col1=rx(0)
MyVar = rx(1) if len(MyVar) = 1 then MyVar = "000" & MyVar Elseif len(MyVar) = 2 then MyVar = "00" & MyVar Elseif len(MyVar) = 3 then MyVar = "0" & MyVar End if
col2=trim(cstr(MyVar & " - " & rx(2)))
ret = ret & comma & jq(col2) & "," & jq(col1) comma=","
x=x+1 rx.movenext loop rx.close conn.close ret = ret & ");"
'instruct javascript to populate the listbox ret = ret & "lb.length=0;" ret = ret & "var x=0;" ret = ret & "while (x != _o0.length) {" ret = ret & "lb.options[lb.length] = new Option(_o0[x],_o0[x+1]);" ret = ret & "x=x+2;}"
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Det er js-delen, som driller. Ovenstående script udfylder en select, men nu vil jeg bruge samme/en kopi af scriptet til at udfylde en <input type=text name=zz>.
Jeg kan se, at ovenstående returnerer en streng, der starter med "var lb=[lbname];var _o0=new Array(...." (altså indholdet til en select). Spørgsmålet så lige, hvordan jeg får lavet det om, så scriptet blot udfylder en input ?
OK, når jeg kalder ovenstående, får jeg indholdet til en <select> udfyldt med data fra db'en. Det virker fint.
I stedet for dette, vil jeg have scriptet til at udfylde en input (<input type="text" name="city> med mine data. ASP-delen kan jeg fint, men jeg aner ikke, hvordan jeg ændrer js-delen.
"OK, når jeg kalder ovenstående, får jeg indholdet til en <select> udfyldt med data fra db'en. Det virker fint." >> Hvad? Hvor? Hvordan? Det kan jeg ikke få øje på. Nu må du prøve at tage dig sammen og give en ordentlig forklaring
Jeg vil gerne prøve - jeg troede koden var selvforklarende for en haj som dig :-)
Jeg kalder funktionen "RemoteScriptListBox(lbname,SQL)" med en onchange på en <select>. Værdien i selecten(this.value) puttes ind i SQL'en, som giver mig rx(n).
Ovenstående loop giver mig så et array, der er indholdet i <select name=[lbname]>. Og i stedet for et array, ville jeg gerne have funktionen til at returnere/udfylde værdien i et input-felt. Og det virkede så, da jeg ændrede ovenstående til blot:
function RemoteScriptListBox(lbname,SQL) dim ret
ret = "document.getElementById('city').value='test';"
Men jeg mente/synes/troede bare ikke, at det var relevant for spørgsmålet. Men hvad ved en bager om biler...
Læg et svar - du skal have tak for opmærksomheden. Husk også at lægge et svar på mit spørgsmål fra i lørdags, hvor du også bidrog.
Synes godt om
Ny brugerNybegynder
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.