Avatar billede Slettet bruger
21. maj 2004 - 23:28 Der er 43 kommentarer og
1 løsning

Hvorfor virker dette ikke som jeg gerne vil have det til?

Hejsa.

Dette er en blanding af Roenvings script (Working demo #3 fra http://roenving.users.whitehat.dk) og noget andet jeg har fundet på nettet.

Det drejer sig om en kontaktformular, hvor jeg gerne vil have, at når brugeren klikker inde i text-feltet, skal feltet forblive i en hvid farve, indtil brugeren klikker ind i næste felt, og feltet derved skrifter farve igen.
Det gør det ikke nu, kun når der er enten MouseOver, eller når den første karakter indtastes.

Ja, det er lidt besværligt at forklare, men ved at kigge her (http://www.extend.dk/test/kontaktformular2.html) er det vist meget nemmere at forstå, håber jeg.  :-)

Ellers bare spørg, selvfølgelig.  :-)
Avatar billede roenving Novice
21. maj 2004 - 23:37 #1
Øeh:

onblur="this.style.border='1px inset';this.style.height='17px';this.style.width='220px';this.style.backgroundColor='#ffffff';

-- skal den ikke være f9f9f9 ?-)
Avatar billede Slettet bruger
21. maj 2004 - 23:38 #2
...burde den være det? Jeg laver den lige om. 1 min., så er den uploadet.  :-)
Avatar billede Slettet bruger
21. maj 2004 - 23:39 #3
Så er den uploadet.  :-)
Avatar billede Slettet bruger
21. maj 2004 - 23:41 #4
..men den beholder stadig ikke den hvide farve, når brugeren klikker inde i tekst-feltet. Kun når der er enten MouseOver, eller når den første karakter indtastes. øv.
Avatar billede roenving Novice
21. maj 2004 - 23:42 #5
Du har også en onmouseout, som sætter farven, den skal du vel ikke have, hvis det først er, når brugeren klikker i et andet felt ?-)

-- iøvrigt vil en hårdt sat style-property altid override en stylesheet-property !-)
Avatar billede Slettet bruger
21. maj 2004 - 23:42 #6
Ideen er, at når brugeren klikker inde i textfeltet, skal der skiftes til den hvide farve.
Avatar billede Slettet bruger
21. maj 2004 - 23:44 #7
Ja, det er rigtigt, som du skriver.
Men hvordan skal problemet løses, synes du?
Jeg selv har rodet rundt med det, til den store guldmedalje, men jeg kan ikke løse det.  :-(
Avatar billede Slettet bruger
21. maj 2004 - 23:45 #8
Jeg ved godt, at en style-property altid overskrive de egenskaber, som er sat inde i en stylesheet. Men er det en del af problemet?
Avatar billede roenving Novice
21. maj 2004 - 23:46 #9
<input type="text" id="egetnavn" name="egetnavn" tabindex="1" onKeyUp="highlight(event)" style="width: 220px; height: 17px; font-family: verdana, helvetica, arial, sans-serif; font-size: 10px; border: 1px, solid, #000000; background-color: #f9f9f9;" maxlength="100" onfocus="st=this.style;st.border='1px solid #FF9900';st.height='17px';st.width='220px';st.backgroundColor='#ffffff';if(this.value==this.defaultValue)this.value='';" onblur="st=this.style;st.border='1px inset';st.height='17px';st.width='220px';st.backgroundColor='#f9f9f9';if(this.value=='')this.value=this.defaultValue;" value="Klik her og skriv dit eget navn." />
Avatar billede Slettet bruger
21. maj 2004 - 23:51 #10
Ja, nu forbliver farven den samme. :-)
Men MouseOver effekten er væk... Kan man virkelig ikke kombinere de 2 ting?
Avatar billede Slettet bruger
21. maj 2004 - 23:52 #11
Den er også uploadet nu. :-)
Avatar billede roenving Novice
21. maj 2004 - 23:52 #12
-- og der var også en par unødvendige gentagelser:

<input type="text" id="egetnavn" name="egetnavn" tabindex="1" style="width: 220px; height: 17px; font-family: verdana, helvetica, arial, sans-serif; font-size: 10px; border: 1px, solid, #000000; background-color: #f9f9f9;" maxlength="100" onfocus="st=this.style;st.border='1px solid #FF9900';st.backgroundColor='#ffffff';if(this.value==this.defaultValue)this.value='';" onblur="st=this.style;st.border='1px inset';st.backgroundColor='#f9f9f9';if(this.value=='')this.value=this.defaultValue;" value="Klik her og skriv dit eget navn." />
Avatar billede roenving Novice
21. maj 2004 - 23:54 #13
Jo, du kan sagtens kombinere en mouseover med hvadsomhelst andet, men det giver vel ingen mening, hvis de konflikter ?-)

Hvis det er meningen at tyverialarmen hyler, når du tager en vare med ud af butikken, må du mærke varen, så den opdager det ...

Men sandelig også fjerne mærkningen, hvis kunden har betalt !-)
Avatar billede Slettet bruger
21. maj 2004 - 23:55 #14
Dejligt at få ryddet lidt op. :-)

...men nu mangler der bare den nydelige detalje med MouseOver og MouseOut, ligesom på "Send" og "Forfra" knapperne.
Avatar billede roenving Novice
21. maj 2004 - 23:57 #15
Så skal du måske kun lægge border-ændringen på focus/blur ?-)
Avatar billede Slettet bruger
21. maj 2004 - 23:57 #16
Ok, så der er konflikter? Jeg tænkte det nok. :-(((((

Jeg har også prøvet og prøvet, men uden held.

Så der er altså intet at gøre? Evt. en anden måde at opnå samme effekt på?
Avatar billede Slettet bruger
22. maj 2004 - 00:02 #17
"kun lægge border-ændringen på focus/blur"? Øhhh...  ?

Det er det da også i forvejen... kun i style er der også defineret en border-egenskab. Det er måske den som skal væk, så ændringen kun sker i focus/blur?
Avatar billede roenving Novice
22. maj 2004 - 00:02 #18
Hvis du onmouseout ændrer farven, vil det jo ændre den indstilling, som onfocus laver ...

-- men mon ikke man kan bruge en stak variabler, som holder rede på, om en focus er til stede, og så undlader at udføre onmouseout, og så, hvis en blur udføres checker efter, om der eventuelt stadig er en mouseover, så den ikke skal eksekveres ...

Tjah, det lyder ikke fremgangsrigt !-)
Avatar billede Slettet bruger
22. maj 2004 - 00:05 #19
Aha... et script som holder øje med det hele? Det lyder da ikke helt tosset! Måske lidt kompliceret, men det er måske alligevel løsningen?
Avatar billede Slettet bruger
22. maj 2004 - 00:06 #20
Det kunne også være lidt extra-lækkerier til dit eget website, kunne det ikke?
Avatar billede roenving Novice
22. maj 2004 - 00:06 #21
*lol*
Avatar billede Slettet bruger
22. maj 2004 - 00:08 #22
;-)
Avatar billede Slettet bruger
22. maj 2004 - 00:09 #23
Jeg må jo bruge alle midler for at lokke/overtale dig, for jeg kan jo ikke selv lave en løsning.  :-)
Avatar billede roenving Novice
22. maj 2004 - 00:20 #24
<script type="text/javascript">
var high = [0,0];
function highlight(obj,nr,type){
  high[nr] += type;
  obj.style.backgroundColor=(high[nr]!=0)?'white':'#f9f9f9';
}
</script>
<form id="form1" method="post" action="kontaktformularsend.asp" onsubmit="return valideringanbefal(this);">
<table class="handling" cellspacing="0" cellpadding="0" width="220" border="0">
    <tr align="center">
        <td class="form1">
        Kontaktformular:
        </td>
    </tr>
    <tr>
        <td class="form2">
       
<input type="text" id="egetnavn1" name="egetnavn1" tabindex="1" style="width: 220px; height: 17px; font-family: verdana, helvetica, arial, sans-serif; font-size: 10px; border: 1px, solid, #000000; background-color: #f9f9f9;" maxlength="100" onmouseover="highlight(this,1,1)" onmouseout="highlight(this,1,-1)" onfocus="this.style.border='1px solid #FF9900';highlight(this,1,1);if(this.value==this.defaultValue)this.value='';" onblur="this.style.border='1px inset';highlight(this,1,-1);if(this.value=='')this.value=this.defaultValue;" value="Klik her og skriv dit eget navn." />

        </td>
    </tr>
    <tr>
        <td class="form2">
               
<input type="text" id="egetnavn2" name="egetnavn2" tabindex="2" style="width: 220px; height: 17px; font-family: verdana, helvetica, arial, sans-serif; font-size: 10px; border: 1px, solid, #000000; background-color: #f9f9f9;" maxlength="100" onmouseover="highlight(this,1,1)" onmouseout="highlight(this,1,-1)" onfocus="this.style.border='1px solid #FF9900';highlight(this,1,1);if(this.value==this.defaultValue)this.value='';" onblur="this.style.border='1px inset';highlight(this,1,-1);if(this.value=='')this.value=this.defaultValue;" value="Klik her og skriv dit eget navn." />

        </td>
    </tr>
    <tr>
        <td class="form2" align="center">
       
<input type="submit" name="button1" class="knapper" value="Send" tabindex="4" onMouseover="this.style.backgroundColor='#ffffff'" onMouseOut="this.style.backgroundColor='#f9f9f9'" />

&nbsp;&nbsp;&nbsp;

<input type="reset" name="button2" class="knapper" value="Forfra" tabindex="5" onMouseover="this.style.backgroundColor='#ffffff'" onMouseOut="this.style.backgroundColor='#f9f9f9'" />
        </td>
    </tr>
</table>
</form>
Avatar billede roenving Novice
22. maj 2004 - 00:22 #25
Hov, det skulle selvfølgelig være highlight(this,0 osv. i den første !-)
Avatar billede Slettet bruger
22. maj 2004 - 00:23 #26
Du er altså bare SÅ UTROLIGT DYGTIG!!!!!!!!!!!!!!!!!!!!!!!!
Avatar billede Slettet bruger
22. maj 2004 - 00:24 #27
WOW! Jeg bukker og nejer for dig, Roenving!!!!!!!

Helt utroligt, at du kan få svejset sådanne løsninger sammen, og så på SÅ KORT TID!

Tænk: Jeg har sidet og brugt en hel del tid på at fedte rundt med dette...
Avatar billede Slettet bruger
22. maj 2004 - 00:25 #28
Ok, det retter jeg lige til. Men det virker faktisk allerede nu. Jeg har allerede uploadet det.  :-)
Avatar billede Slettet bruger
22. maj 2004 - 00:30 #29
Øhhhh....  highlight(this,0 osv. i den første???
Hvor i al verden skal den tilretning foregå henne?

<input type="text"
id="egetnavn1"
osv.
onmouseover="highlight(this,1,1)"
onmouseout="highlight(this,1,-1)"
onfocus="this.style.border='1px solid #FF9900';highlight(this,1,1);if(this.value==this.defaultValue)this.value='';" onblur="this.style.border='1px inset';highlight(this,1,-1);if(this.value=='')this.value=this.defaultValue;">

<input type="text"
id="egetnavn2"
osv.
onmouseover="highlight(this,1,1)"
onmouseout="highlight(this,1,-1)"
onfocus="this.style.border='1px solid #FF9900';highlight(this,1,1);if(this.value==this.defaultValue)this.value='';" onblur="this.style.border='1px inset';highlight(this,1,-1);if(this.value=='')this.value=this.defaultValue;">

Det fatter jeg ikke lige...
Avatar billede roenving Novice
22. maj 2004 - 00:32 #30
-- og den dobbelte grund til, at jeg ikke kalder den slags løsninger for fremgangsrige:

1. Selvom man kan udvide variablen high i det uendelige, bliver det umuligt at gennemskue, når man når udover de ganske få !-)

2. Det samme gælder brugerens mulighed for at få hjælp ud af, at der er noget fokus-noget, specielt hvis man har det udover en almindelig minimal skærm-størrelse !o]
Avatar billede roenving Novice
22. maj 2004 - 00:33 #31
<input type="text"
id="egetnavn1"
osv.
onmouseover="highlight(this,0,1)"
onmouseout="highlight(this,0,-1)"
onfocus="this.style.border='1px solid #FF9900';highlight(this,0,1);if(this.value==this.defaultValue)this.value='';" onblur="this.style.border='1px inset';highlight(this,0,-1);if(this.value=='')this.value=this.defaultValue;">
Avatar billede Slettet bruger
22. maj 2004 - 00:37 #32
Ok, på den måde.  :-))

Du ER altså helt utrolig!!!!  :-))))))

Du må da have et kæmpe-bibliotek af div. script og koder, som du har lavet  igennem tiden, er jeg helt sikker på.

Du må også meget gerne lægge en form for svar, så jeg kan tildele dig de vildt utilstrækkelige points.
Avatar billede roenving Novice
22. maj 2004 - 00:41 #33
Velbekomme '-)

-- og biblioteket vokser ganske rigtigt, men de allerfleste ting, jeg tager fat i, handler om algoritmer, og der er det godt nok fantasi, fornuft, fantasi, kreativitet, fantasi og logik som skal bruges ...
Avatar billede Slettet bruger
22. maj 2004 - 00:43 #34
Vedr. Kommentar: roenving 22/05-2004 00:32:48 :
1: Dette script skal bruges til 2 formularer, hvor der kun er hhv. 3 felter og 4 felter i ("Kontakt mig" og Anbefal til en ven" formularer). Så det burde ikke blive noget problem.  :-)
Avatar billede roenving Novice
22. maj 2004 - 00:47 #35
Jamen, så er det jo fjong !-)

-- og tak for point ;~}
Avatar billede Slettet bruger
22. maj 2004 - 00:47 #36
...jeg har efterhånden også en del script og koder liggende, og har sikkert også det problem som du måske har (og sikkert også mange andre har), at opdele dem i de rette mapper, for at optimere overblikket. Ellers kan det hurtigt blive til en rodebunke... og derved miste sin værdi, fordi man alligevel ikke kan finde det man nu engang skal bruge. Kender du det?  ;-)

Men algoritmer kender jeg ikke så meget til. Er det tilknyttet et specielt kodesprog, som Java eller C++?
Avatar billede Slettet bruger
22. maj 2004 - 00:49 #37
Du skal ikke takke for noget som helst, det er mig som takker og bukker!
Jeg ved ikke hvor niveauet for Javascript- og CSS afdeligen her på exp.dk ville være henne uden dig... ;-)
Avatar billede roenving Novice
22. maj 2004 - 00:51 #38
Nej, det er såmænd knyttet til hvadsomhelst, som kræver at du finder en måde at gøre det på !-)

Et eksempel på en algoritme ville også være, at når nu jeg står ved Diamanten og gerne vil til Rådhuspladsen, så kan jeg vælge Apostlenes heste (nordpå eller sydpå ?-), finde en taxi, eller finde en bus !-)
Avatar billede Slettet bruger
22. maj 2004 - 00:58 #39
Ok, en algoritme = En måde at gøre det på.
Det lyder jo forholdsvis simpelt. Som udgangspunkt, altså. :-)

Men Apostlenes heste? Står de at finde/bestille i telefonbogen? ;-)

Igen: Mange, mange tak for hjælpen, Roenving!

Faktisk havde jeg også håbet på, at netop du var at finde herinde i aften, til at hjælpe mig med problemet. Og da jeg så, at du tidligere hjalp med et andet sp. herinde i CSS-afdelingen, tænkte jeg at det var et godt tidspunkt at spørge på. Og jo, det var det så! :-)
Avatar billede roenving Novice
22. maj 2004 - 01:03 #40
Apostlene berejste som bekendt vor del af verdenen (nå, ja, i nærheden, i hvert fald !-) uden nogen form for hjælp, de svang sig højest op til at rejse over vand på både, så Apostlenes heste er de fem-tåede tingester, de allerfleste mennesker er udstyret med to af ...
Avatar billede olebole Juniormester
22. maj 2004 - 02:41 #41
<ole>

Ak, ja ... kært barn har lange negle ... som man (vist) siger  :)

Min kristendoms kundskabs lærer (sådan hed det dengang) kaldte dem Apostlenes Heste.
Min biologilærer kaldte dem pseudopodier (=amøbens bevægeapparat).
Min gymnastiklærer kaldte dem gangvorter. Ham havde vi forøvrigt også i sløjd - der kaldte han de øvre ekstremiteters yderste ender for fumlevorter  :)

/mvh
</bole>
Avatar billede roenving Novice
22. maj 2004 - 02:44 #42
Det med fumlevorterne havde vel så noget med at gøre, at han ikke formåede at formidle de rette algoritmer !-)
Avatar billede olebole Juniormester
22. maj 2004 - 02:49 #43
... eller at vi ikke formåde at rette de formidlede algoritmer!  *LooOooL*
Avatar billede roenving Novice
22. maj 2004 - 02:51 #44
*rotflmao*
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