Avatar billede pixit Nybegynder
27. august 2003 - 14:23 Der er 14 kommentarer

tekst i array

teksten bliver ikke skiftet ud. Den opretter fint antal tekstfelter som der er records, men ligger den samme tekst i alle felter, som er fra den første record

onClipEvent (load) {
antallinks();
    function antallinks(){
    loadVariables("url",this);
    }   

    function pvctekst(){
    var i = 0;
    for(i = 0;i <(_root.pvclinks);i++)
    {
    loadVariables("url",this);
    var mh_x = i*10*(-1);
    var mh_y = i*10*(-1);
    var mh_name = "mhnewtext"+i;
    _root.menu.mhtestmc.createTextField(mh_name, 2+i, mh_x, mh_y, 100, 10);
    _root.menu.mhtestmc["mhnewtext"+i].htmlText = pvct;
    _root.menu.mhtestmc["mhnewtext"+i].border = true;
    _root.menu.mhtestmc["mhnewtext"+i].autosize =false;
   
   
   
    }
    }
   
    }
   

onClipEvent (data) {
_root.pvclinks = pvcantal
trace(_root.pvclinks);
}
Avatar billede barklund Nybegynder
27. august 2003 - 14:31 #1
Hvad gøre funktionen? Det ser helt vildt syret ud... du loader jo den samme url en masse gange... jeg fatter ikke helt, hvad den skal eller hvad det enkelte loadVariables skal returnere.

Brug LoadVars og onLoad events!
Avatar billede pixit Nybegynder
27. august 2003 - 14:36 #2
den første function antallinks() udskriver antal record i db

den næste function pvctekst()
Der genererer jeg tekstfelter antal = antal records
der bruger url til at uskrive teksten som skal stå i tekstfelterne, men den skriver teksten fra den første record i alle tekstfelterne
Avatar billede barklund Nybegynder
27. august 2003 - 14:40 #3
loadVariables virk4er jo ikke instantly. Der går lidt tid, før resultatet er hentet ind. Man kan du ikke bare udskrive din data fra dit script som xml og så i en onLoad handler generere tekstfelter med indhold. Det er langt det nemmeste og pæneste!

Hvordan ser dit serverside script ud?
Avatar billede pixit Nybegynder
27. august 2003 - 14:47 #4
er ikke helt med. Jeg bruger asp til at sende data til flash?...
Har du noget kode jeg kan bruge.

En lille ting mere. Hvis jeg gerne vil have onclick på tekstfelterne hvordan gør jeg det. De skal nemlig fungere som links der synliggøre et andet tekstfelt med data fra samme record... Ved godt det er et ekstra spørgsmål, men håber det er i orden
Avatar billede barklund Nybegynder
27. august 2003 - 15:01 #5
Hvis du lige viser mig, hvordan du har lavet dit asp-script (hvilke variabler der hentes ud af db) så kan jeg lave det lidt om for dig samt skrive actionscriptet til det hele... Det tror jeg vil hjælpe dig til at forstå, hvordan man kan bygge det bedre op.
Avatar billede pixit Nybegynder
27. august 2003 - 15:09 #6
i min accessdb er der en tabel med følg. kolonner:
(id)(linktekst)(undertekst)

Det er linkteksten der sendes til flash og danner tekstfelterne som gerne skulle virke som links. Når man klikker på dem skal et andet tekstfelt synliggøres med indholdet fra (undertekster) det vil sige at (id) skal med rundt. Hvis du hjælper mig med at få dette til at virke, får du 20 point mere



<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="nordc.asp" -->
<!--#include file="func.asp" -->
<%
Dim rsrecord
Dim rsrecord_numRows

Set rsrecord = Server.CreateObject("ADODB.Recordset")
rsrecord.ActiveConnection = MM_nordc_STRING
rsrecord.Source = "SELECT * FROM pvc"
rsrecord.CursorType = 0
rsrecord.CursorLocation = 2
rsrecord.LockType = 1
rsrecord.Open()

rsrecord_numRows = 0


dim pvcantal
pvcantal = 0

Response.Write "pvct="
while (NOT rsrecord.EOF)
pvcantal = pvcantal + 1
dim linkt
linkt = Replace(mail(LinkURLs(rsrecord.Fields.Item("linktekst").Value)), chr(13),"<br>")
linkt = Replace(linkt, chr(38),"%26")

dim pid
pid = rsrecord.Fields.Item("pvcid").Value
%>
<%=linkt%>
<%response.write chr(10) & chr(13)
rsrecord.MoveNext()
Wend

Response.Write "&pvcantal="%><%=(pvcantal)%>
<%
rsrecord.Close()
Set rsrecord = Nothing
%>
Avatar billede barklund Nybegynder
27. august 2003 - 15:42 #7
Sidste del bliver så (efter din rsrecord_numRows):

<%
Response.Write "<pvcs>"
while (NOT rsrecord.EOF)
      dim str = "<pvc id="""&rsrecord.Fields.Item("pvcid").Value&""" text="""
      str = str & Server.URLEncode(Replace(mail(LinkURLs(rsrecord.Fields.Item("linktekst").Value)), chr(13),"<br>"))
      str = str & """ subtext="""
      str = str & Server.URLEncode(Replace(mail(LinkURLs(rsrecord.Fields.Item("undertekst").Value)), chr(13),"<br>"))
      str = str & """ />"
      Response.write str
      rsrecord.MoveNext()
Wend
Response.Write "</pvcs>"
rsrecord.Close()
Set rsrecord = Nothing
%>


Og i Flash:


loadMenu = new XML()
loadMenu.onLoad = function(s) {
    if (!s) {
    trace("fejl");
    return;
    }
    var i, n = this.firstChild.childNodes;
    var x, y, m, name;
    var other_txt = _root.someOtherTextField;
    for (i = 0; i < n.length; i++) {
    x = i*10*(-1);
    y = i*10*(-1);
    name = "mhnewtext"+i;
    m = _root.menu.mhtestmc.createEmptyMovieClip(name, 10+i);
    m._x = x;
    m._y = y;
    m.createTextField("some_txt", 1, 0, 0, 100, 10);
    m.some_txt.htmlText = n[i].attributes.text;
    m.some_txt.border = true;
    m.some_txt.autosize = false;
    m.id = n[i].attributes.id;
    m.subtext = n[i].attributes.subtext;
    m.onRelease = function() {
        other_txt.htmlText = this.subtext;
    }
    }
}
loadMenu.load("some.asp");


Så skal du bare erstatte "_root.someOtherTextField" med det tekstfelt, hvor underteksterne skal vises.

Det er ikke afprøvet ;)

/Barklund
Avatar billede pixit Nybegynder
27. august 2003 - 15:51 #8
dim str = "<pvc id="""&rsrecord.Fields.Item("pvcid").Value&""" text="""
--------^
Avatar billede barklund Nybegynder
27. august 2003 - 15:56 #9
Jeg aner intet om VBScript... Jeg gætter bare ;)

dim str
str = "<pvc id="""&rsrecord.Fields.Item("pvcid").Value&""" text="""
Avatar billede pixit Nybegynder
27. august 2003 - 16:12 #10
har du en email... Så kan jeg lige sende dig flash filen. Jeg har oprettet en tom flashfil og lagt det hele i roden. Den melder ikke fejl, men der sker ikke noget. Hvis jeg nu sender filen til dig kan du se url'en hvor teksten hentes fra, og dermed sende en fil tilbage til mig som virker?

ang. url.... den virker den kan du jo også tjekke
Avatar billede barklund Nybegynder
27. august 2003 - 16:17 #11
Altså hvis filen er helt tom, sker der jo ikke noget, prøv:

loadMenu = new XML()
loadMenu.onLoad = function(s) {
    if (!s) {
        trace("fejl");
        return;
    }
    var i, n = this.firstChild.childNodes;
    var x, y, m, name;
    var other_txt = _root.someOtherTextField;
    var base_mc = _root;
    for (i = 0; i < n.length; i++) {
    trace("tilføjer"+n[i].attributes.id+ " = "+n[i].attributes.text);
    x = i*10*(-1);
    y = i*10*(-1);
    name = "mhnewtext"+i;
    m = base_mc.createEmptyMovieClip(name, 10+i);
    m._x = x;
    m._y = y;
    m.createTextField("some_txt", 1, 0, 0, 100, 10);
    m.some_txt.htmlText = n[i].attributes.text;
    m.some_txt.border = true;
    m.some_txt.autosize = false;
    m.id = n[i].attributes.id;
    m.subtext = n[i].attributes.subtext;
    m.onRelease = function() {
        other_txt.htmlText = this.subtext;
    }
    }
}
loadMenu.load("some.asp");
Avatar billede pixit Nybegynder
27. august 2003 - 17:13 #12
asp filene er ikke tom. Men jeg har åbnet en ny flashfil og lagt koden ind på 1 frame og gemt filen det samme sted som den oprindelige. Men kan du ikke sende mig en fla fil hvor det virker? jeg skal jo bare lige ha' din emailadd. så jeg kan sende dig den korrelte url til asp-filen
Avatar billede barklund Nybegynder
28. august 2003 - 10:03 #13
Min email adresse kan du se på mit minisite: http://www.eksperten.dk/bruger.phtml?navn=barklund
Avatar billede barklund Nybegynder
30. august 2003 - 23:34 #14
Din asp-fil har et forkert output. Dine xml-attributter skal quotes som:

<pvc id ="1" text="text" subtext="undertext" />

Du mangler disse quotes (")...
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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