Avatar billede d797fni Nybegynder
07. juli 2004 - 15:33 Der er 7 kommentarer og
1 løsning

Undersøge tekst og ændre image ved click

Jeg har en række objekter som indeholder en .net kontrol som brugeren skal udfylde. Når det er udfyldt placeres værdierne i KeysString.

Jeg har brug for at det tilhørende billede (ex. <img name="object_arrow" align="middle" src="../../common/image/rightlight.gif">)
skifter til rightlight_green.gif når UpdatingTree.KeysString<>''

Den skal tjekke indholdet af UpdatingTree.KeysString både ved load og ved click på <td>

Menigen er at når der er udfyldt noget i kontrollen så bliver pilen grøn, og brugeren kan se at feltet er udfyldt.

Der findes UpdatingTree til UpdatingTree5 (6 kontroller)


Her er noget af min kode:


function ClearAll()
            {
                //document.frmKeys.txtHiddenKeys.value = "";
                //document.frmKeys.txtHiddenText.value = "";
                UpdatingTree.Clear
                UpdatingTree1.Clear
                UpdatingTree2.Clear
                UpdatingTree3.Clear
                UpdatingTree4.Clear
                UpdatingTree5.Clear
           
            }
            function visObject(ref)
            {
                imgname = ref.id + "_arrow"
               
                if (ref.style.display=='none')
                {
                ref.style.display='inline'
                document[imgname].src = "../../common/image/leftlight.gif"
                }
               
                else if (ref.style.display=='inline')
                {
                ref.style.display='none'
                {document[imgname].src = "../../common/image/rightlight.gif"}
                }
            }
            function SkjulObjekter()
            {
            sector.style.display='none';
            object.style.display='none';
            discipline.style.display='none';
            service.style.display='none';
            Geography.style.display='none';
            Language.style.display='none';
           
            }
           
        </SCRIPT>
        <style>
        body    {
              overflow: auto;
              height: 100%;
            }
        </style>
       
    </HEAD>
    <BODY onload="DDBinit();SkjulObjekter();" bgcolor="#c0c0c0">
    <table width="450px">
    <tr>
    <td valign="top" onclick="visObject(sector);"><img name="sector_arrow" align="middle" src="../../common/image/rightlight.gif">Sector</td>
    <td id="sector" style="display: inline;"><OBJECT id="UpdatingTree" height="250" width="275" classid="../UpdatingTree.dll#Controls.UpdatingTree" VIEWASTEXT></OBJECT></td>
   
    </tr>
   
    <tr>
    <td valign="top" onclick="visObject(object);"><img name="object_arrow" align="middle" src="../../common/image/rightlight.gif">Object</td>
    <td id="object" style="display: inline;"><OBJECT id="UpdatingTree1" height="250" width="300" classid="../UpdatingTree.dll#Controls.UpdatingTree" VIEWASTEXT></OBJECT></td>
    </tr>
    <tr>
    <td valign="top" onclick="visObject(discipline);"><img name="discipline_arrow" align="middle" src="../../common/image/rightlight.gif">Discipline</td>
    <td id="discipline" style="display: inline;"><OBJECT id="UpdatingTree2" height="250" width="300" classid="../UpdatingTree.dll#Controls.UpdatingTree" VIEWASTEXT></OBJECT></td>
    </tr>
    <tr>
    <td valign="top" onclick="visObject(service);"><img name="service_arrow" align="middle" src="../../common/image/rightlight.gif">Service</td>
    <td id="service" style="display: inline;"><OBJECT id="UpdatingTree3" height="250" width="300" classid="../UpdatingTree.dll#Controls.UpdatingTree" VIEWASTEXT></OBJECT></td>
    </tr>
    <tr>
    <td valign="top" onclick="visObject(Geography);"><img name="Geography_arrow" align="middle" src="../../common/image/rightlight.gif">Geography</td>
    <td id="Geography" style="display: inline;"><OBJECT id="UpdatingTree4" height="250" width="300" classid="../UpdatingTree.dll#Controls.UpdatingTree" VIEWASTEXT></OBJECT></td>
    </tr>
    <tr>
    <td valign="top" onclick="visObject(Language);"><img name="Language_arrow" align="middle" src="../../common/image/rightlight.gif">Language</td>
    <td id="Language" style="display: inline;"><OBJECT id="UpdatingTree5" height="250" width="300" classid="../UpdatingTree.dll#Controls.UpdatingTree" VIEWASTEXT></OBJECT></td>
    </tr>
    </table>
   
   
    <form name="frmKeys" onsubmit="return Valider()" method="post" Target="_self">
    <input type="hidden" name="Keys">
    <input type="hidden" name="Text">
   
   
    </form>
Avatar billede roenving Novice
07. juli 2004 - 21:05 #1
Har du ikke nogen metoder, du kan kalde inde fra det objekt ?-)

Hvis det skulle gøres onclick inde fra td'en, kunne det generisk gøres sådan:

onclick="if(UpdatingTree.KeysString!='')
this.previousSibling.childNode.src='rightlight_green.gif'"

fra objektet vil ruten til billedet være:

this.parentNode.previousSibling.childNode.src
Avatar billede d797fni Nybegynder
08. juli 2004 - 07:37 #2
Nej, der er ingen metoder til det. Det er et objekt jeg har arvet fra en anden applikation.

Hvordan tjekker den om UpdatingTree.KeysString er udfyldt onload?? Den kan nemlig være præ-udfyldt.
Avatar billede d797fni Nybegynder
08. juli 2004 - 07:53 #3
Ved nærmere eftertanke så skal onclick implementeres i denne td, da det er den brugeren trykker på.

Kan man egenlig nemt lave noget kode der gør at visObject() kun viser et objekt ad gangen, dvs at når man åbner et nyt så lukker de andre?

<td valign="top" onclick="visObject(Language);"><img name="Language_arrow" align="middle" src="../../common/image/rightlight.gif">Language</td>
Avatar billede roenving Novice
08. juli 2004 - 14:24 #4
Hvis du kalder SkjulObjekter før du viser et nyt, kan du sagtens vise dem een ad gangen ...
Avatar billede d797fni Nybegynder
10. august 2004 - 08:29 #5
et svar roenving ??
Avatar billede roenving Novice
10. august 2004 - 11:45 #6
Hov, det skal vel være:

this.parentNode.previousSibling.childNodes[0].src
Avatar billede d797fni Nybegynder
16. marts 2005 - 08:56 #7
jeg ville gerne have svar fra roenvig, men lukker emnet nu.
Avatar billede roenving Novice
16. marts 2005 - 21:48 #8
Okay ?-)
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