Avatar billede Slettet bruger
13. juni 2005 - 23:58 Der er 38 kommentarer og
2 løsninger

Tving cursor ind i første form-felt.

Hejsa.

Jeg har et lille script, som burde virke. Men det gør det ikke...
Hvem kan hjælpe med at rette det?
Ideen er, at tving cursoren ind i første form-felt.

Her er scriptet:

<script type="text/javascript">
document.forms["loginform"].elements["brugernavn"].focus();
</script>

Forklaring:
document.forms kalder på formular-navnet, i dette tilfælde loginform

elements kalder på første formfelts navn, i dette tilfælde brugernavn
Avatar billede roenving Novice
14. juni 2005 - 00:03 #1
Du skal nok vente med at fyre funktionen af til hele dokumentet er loadet, så f.eks.

<script type="text/javascript">
window.onload = function() {document.forms["loginform"].elements["brugernavn"].focus();}
</script>
Avatar billede skovenborg Nybegynder
14. juni 2005 - 00:03 #2
måske skulle du gøre det når siden er loadet - ellers er det ikke sikkert form-elementet er lavet endnu:
<body onload="document.forms['loginform'].elements['brugernavn'].focus();">
Avatar billede Slettet bruger
14. juni 2005 - 00:07 #3
Ok... men ødelægger jeg så ikke muligheden for at validere korrekt?

I mit tilfælde:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
Avatar billede roenving Novice
14. juni 2005 - 00:08 #4
Næh, det betyder intet !-)
Avatar billede Slettet bruger
14. juni 2005 - 00:09 #5
Det fungerer ihvertfald fint!  :-)
Avatar billede roenving Novice
14. juni 2005 - 00:10 #6
Jepz !-)

Velbekomme '-)
Avatar billede Slettet bruger
14. juni 2005 - 00:12 #7
Ok, jammen så kan jeg kun sige mange tak, begge to!  :-)

Jeg kan se, at I stort set har givet samme svar, hvorfor I må deles om points. Det er vist det mest retfærdige.  :-)
Derfor: Kan I ikke venligst lægge et svar, begge to?
Avatar billede Slettet bruger
14. juni 2005 - 00:21 #8
Hva´ så, Skovenborg? Er du her endnu?

Forresten, I to kodehajer:
Jeg roder med lidt med CSS lige nu, og ønsker at udbygge en funktion.
Det drejer sig om at holde fokus på et link, når man har klikket på linket.
Måske det skal rettes/udbygges via JavaScript? Jeg ved det ikke.

Derfor:
Gidder I at kigge lidt på det, hvis jeg opretter et nyt spørgsmål indenfor CSS- eller JavaScript-kategorien?
Men indenfor hvilken kategori skal jeg oprette spørgsmålet?
Avatar billede Slettet bruger
14. juni 2005 - 00:23 #9
...jeg kan nemlig se på mine links, at de egenskaber jeg har givet mine links forsvinder, så snart man klikker på noget andet på websiden, som fx. når man klikker i en form. Og det ønsker jeg at få lavet om, hvis det er muligt.
Avatar billede roenving Novice
14. juni 2005 - 00:28 #10
-- en løsning på det problem indebærer, at du onload kigger alle links igennem og hvis et link er indeholdt i den nuværende side ændrer du egenskaber for linket !-)
Avatar billede Slettet bruger
14. juni 2005 - 00:33 #11
Ok... men præcis hvordan gør jeg det?
Avatar billede Slettet bruger
14. juni 2005 - 00:34 #12
Jeg kan lige uploade det jeg har lavet, så du/I kan se hvad jeg mener.  :-)
Avatar billede olebole Juniormester
14. juni 2005 - 00:39 #13
<ole>

Hmmm ... jeg læser det sidste spørgsmål som gående på virkningen af 'a:active' i f.eks:

<style type="text/css">
a, a:visited {
    background-color: yellow;
    color: black;
    text-decoration: none;
}
a:hover {
    background-color: red;
    color: yellow;
}
a:active {
    background-color: black;
    color: white;
}
</style>

Det kan du gøre ved at udskifte 'a:active'-koden med denne kode i stedet:

<script type="text/JavaScript">
var activeLink = null;
var oActStyles = {backgroundColor:"black", color:"white"};
function setActiveStyle(a) {
    if (activeLink) {
        for (var x in oActStyles) activeLink.style[x] = "";
    }
    activeLink = a;
    for (var x in oActStyles) activeLink.style[x] = oActStyles[x];
}
</script>

<a href="#" onclick="setActiveStyle(this);return false">TEST 1</a>
<a href="#" onclick="setActiveStyle(this);return false">TEST 2</a>

/mvh
</bole>
Avatar billede Slettet bruger
14. juni 2005 - 00:42 #14
Her er linket:
http://webfab.dk/test2/
Avatar billede olebole Juniormester
14. juni 2005 - 00:42 #15
'a:active' bør kun anvendes til at markere et almindeligt link i det øjeblik, der klikkes på det. Derefter skiftes siden og linket forsvinder igen - så det kan være ligemeget, hvad der ellers sker med det.

I et senarium, hvor siden ikke skiftes, men 'linket' skal forblive markeret, er du nødt til at tage JS til hjælp  ;o)
Avatar billede roenving Novice
14. juni 2005 - 00:42 #16
-- men hvis siden reloades er der ikke meget af den effekt tilbage ?-)
Avatar billede olebole Juniormester
14. juni 2005 - 00:43 #17
roenving >> 10 mod 1 på, at siden ikke reloades  ;o)
Avatar billede Slettet bruger
14. juni 2005 - 00:44 #18
Hey igen, Ole.
Ok, jeg chekker lige dit forslag ud.
Men kan du ikke imens lige lægge et svar, så jeg kan give dig points for det første forslag?
Og nu det ser tilmed også ud til, at jeg skal forhøje points for dit sidste forslag.  :-)
Avatar billede roenving Novice
14. juni 2005 - 00:46 #19
Hvad er det for noget amatør-noget med højre-klik osv.

-- jeg kiggede godt nok på koden, men da jeg stødte ind i links til no right click oa. lukkede jeg ,-(
Avatar billede olebole Juniormester
14. juni 2005 - 00:48 #20
1. Rolig nu ... lad os nu lige se, om jeg har ret i min antagelse - og du kan bruge løsningen  :)
2. Ehhhh ... to forslag? Ikke helt forstået(?)
3. Godt, jeg ikke prøvede dit link og blev mødt af et 'anti-højreklik' script!
Avatar billede Slettet bruger
14. juni 2005 - 00:50 #21
Ja, det er en standard-opsætning jeg har brugt. Jeg har ikke ryddet op i det endnu...
Jeg har fingrene dybt nede i det hele på éen gang, og er langt fra færdig endnu.
Håber ikke at I dømmer mig til offentligt stening...?
Avatar billede Slettet bruger
14. juni 2005 - 00:51 #22
Giv mig lige 5 min. til at fjerne det.
Som sagt: Det ert en standard-opsætning jeg bare har brugt, og jeg skal derfor alle websiderne igennem for at fjerne det.
5 min., ok?
Avatar billede Slettet bruger
14. juni 2005 - 00:53 #23
Du spørger: "2. Ehhhh ... to forslag? Ikke helt forstået(?)"

Ja, Ole. Points både for det første forslag med at tvinge cursoren ind i første form-felt.
Og det andet med at holde fokus på linket.
Avatar billede Slettet bruger
14. juni 2005 - 00:58 #24
Sådan, nu har jeg fjernet de 2 uønskede javaScript.  :-)
Avatar billede olebole Juniormester
14. juni 2005 - 00:58 #25
Angående cursoren, tror jeg, du tager mig for en anden  ;o)
Angående steningen: Du kan slippe med lidt 'blodpenge' ... eller du og din familie kan holde dig fra Frederiksberg  ;D

Angående sidste spørgsmål, så var det et tillægsspørgsmål, som skovenborg eller roenving havde givet dig svar på, hvis ikke jeg havde blandet mig. Lad os vente til en anden god gang ... men tak for tanken  ;o)
Avatar billede skovenborg Nybegynder
14. juni 2005 - 01:10 #26
hov, jeg var vidst ikke vågen her ;-) Og angående point så springer jeg bare over...
Avatar billede Slettet bruger
14. juni 2005 - 01:10 #27
*GG* Ja, jeg gik vist "lidt forkert" i farten af dit navn, Ole. :-)

Uha uha, blodpenge? Jammen, hvad blev der af vores retsvæsen? Vi er da vist ved at blive bombet helt tilbage til stenaldren... grufuld historie, synes jeg.
Avatar billede Slettet bruger
14. juni 2005 - 01:15 #28
Øh... har jeg ødelagt et eller andet, eller virker den bare ikke?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>webfaB &trade; | </title>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
   
<script type="text/JavaScript">
var activeLink = null;
var oActStyles = {border-top:"4px solid  #bf590c", padding:"0px", font-size:"11px", color:"#c6c6c6", font-stretch:"expanded", background:"url(../pics/red.gif)"};
function setActiveStyle(a) {
    if (activeLink) {
        for (var x in oActStyles) activeLink.style[x] = "";
    }
    activeLink = a;
    for (var x in oActStyles) activeLink.style[x] = oActStyles[x];
}
</script>

<style type="text/css">
    td.menu_link {
        font-family: verdana, tahoma, helvetica, arial, sans-serif;
        font-size: 11px;
        text-decoration: none;
        height: 14px;
        margin: 0px;
        padding: 0px;
        width: 138px;
        vertical-align: top;
        border-top: 2px solid  #333333;  }
       
    td.menu_link a {
        font-family: verdana, tahoma, helvetica, arial, sans-serif;
        font-size: 11px;
        color: #bf590c;
        text-decoration: none;
        display: block;
        height: 14px;
        margin: 0px;
        padding: 0px;
        border-top: 4px solid  #333333;  }
       
    td.menu_link a:hover {
        border-top: 4px solid  #bf590c;
        margin: 0px;
        padding: 0px;
        font-size: 11px;
        color: #c6c6c6;
        font-stretch: expanded;
        background: url(../pics/red.gif); }
</style>   
   
</head>

<body>

<br>

<table border="0px" cellpadding="0px" cellspacing="0px" align="center" style="width: 540px;">
    <tr>
        <td>
       
        <table border="0px" cellpadding="0px" cellspacing="0px" align="center" style="width: 540px;">
            <tr>
                <td colspan="4" bgcolor="#bf590c" style="height: 1px;"></td>
            </tr>
            <tr>
                <td align="center" class="menu_link">
                <a target="container" href="forsiden.asp" onclick="setActiveStyle(this);return false">FORSIDEN</a>
                </td>
                <td align="center" class="menu_link">
                <a target="container" href="pulszoner/login.asp" onclick="setActiveStyle(this);return false">PULSZONER</a>
                </td>
                <td align="center" class="menu_link">
                <a target="container" href="anbefal.asp" onclick="setActiveStyle(this);return false">ANBEFAL</a>
                </td>
                <td align="center" class="menu_link">
                <a target="container" href="kontakt.asp" onclick="setActiveStyle(this);return false">KONTAKT</a>
                </td>
            </tr>
        </table>
   
        </td>
    </tr>
    <tr>
        <td style="height: 30px;"></td>
    </tr>
    <tr>
        <td id="container">
        <iframe src="forsiden.asp" name="container" id="container" frameborder="0"></iframe>
        </td>
    </tr>
</table>

</body>
</html>
Avatar billede olebole Juniormester
14. juni 2005 - 01:19 #29
De property-navne, der ligger i objektet 'oActStyles' skal bruges i JS-sammenhæng. Derfor skal de være skrevet i 'camelCase':

var oActStyles = {borderTop:"4px solid  #bf590c", padding:"0px", fontSize:"11px", color:"#c6c6c6", fontStretch:"expanded", background:"url(../pics/red.gif)"};
Avatar billede olebole Juniormester
14. juni 2005 - 01:24 #30
Denne linie:
  for (var x in oActStyles) activeLink.style[x] = oActStyles[x];

- gør i vikeligheden dette:
  activeLink.style.borderTop = "4px solid  #bf590c";
  activeLink.style.padding = "0px";
  activeLink.style.fontSize = "11px";
... osv ...

Derfor skal property-navnene skrives i 'camelCase'  ;o)
Avatar billede Slettet bruger
14. juni 2005 - 01:25 #31
Ok, så langt så godt! :-)

Men har jeg defineret CSS-links (td.menu_link) korrekt?
Nu begynder jeg at blive lidt forvirret... eller måske bare lidt træt oven i hovedet. :-)
Avatar billede Slettet bruger
14. juni 2005 - 01:26 #32
Ok, men den havde jeg nu godt regnet ud. ;-) Jeg havde bare ikke lige fået skrevet det helt korrekt.
Avatar billede olebole Juniormester
14. juni 2005 - 01:28 #33
Da vi returnerer false på linkets onclick-event, fyres linket aldrig af. Det kan du rette med:
  <a target="container" href="forsiden.asp" onclick="frames[this.target].location.href=this.href;setActiveStyle(this);return false">FORSIDEN</a>
Avatar billede olebole Juniormester
14. juni 2005 - 01:29 #34
- eller lidt fiksere:

function setActiveStyle(a) {
    if (activeLink) {
        for (var x in oActStyles) activeLink.style[x] = "";
    }
    frames[a.target].location.href = a.href;
    activeLink = a;
    for (var x in oActStyles) activeLink.style[x] = oActStyles[x];
}

- og så lade dine links være uændret
Avatar billede Slettet bruger
14. juni 2005 - 01:41 #35
Ja, uha uha, nu holder den linket! Flot!!!

Jeg kan se, at baggrundsbilledet er forsvundet (og en anden detalje opfører sig lidt underlig), men jeg tror (og håber!) at den detalje kan jeg selv ordne.
Og jeg er altså også ret træt nu, oven i mit hovede, desværre.

Derfor:
Kan du ikke venligst lægge et svar Ole, så jeg også kan tildele dig points for dit fine script?
Så kan jeg nemlig forhøje points og tildele jer allesammen points i morgen tidlig.

Jeg siger rigtigt mange, mange tak for hjælpen, alle sammen!!! Jeg havde aldrig klaret de problemer alene!
Avatar billede Slettet bruger
14. juni 2005 - 01:44 #36
Hov! Skovenborg mangler stadig at lægge et svar! Han sagde godt nok fra, men jeg er er dybt taknemmelig overfor jeres forslag, og ønsker derfor at tildele jer points alligevel! Det er da det mindste jeg kan gøre.
Avatar billede olebole Juniormester
14. juni 2005 - 01:56 #37
Sørg for også at have et baggrundsbillede i din regel med selector'en: 'td.menu_link a' ... evt. bare en trans. gif. Blot så vi har noget at 'falde tilbage på', når vi 'tømmer' property'en. Den 'anden detalje', du taler om, kunne være, at den sorte streg i toppen åbenbart ikke reset'es i IE. Hmmm ... umiddelbart kan jeg ikke se fejlen, så gør sådan i stedet:

var activeLink = null;
var oActStyles = {borderTop:"4px solid  #bf590c", padding:"0px", fontSize:"11px", color:"#c6c6c6", fontStretch:"expanded", background:"url(../pics/red.gif)"};
var oDeActStyles = {borderTop:"4px solid  #333333", padding:"0px", fontSize:"11px", color:"#bf590c", fontStretch:"normal", background:"url(../pics/trans.gif)"};
function setActiveStyle(a) {
    if (activeLink) {
        for (var x in oDeActStyles) activeLink.style[x] = oDeActStyles[x];
    }
    frames[a.target].location.href = a.href;
    activeLink = a;
    for (var x in oActStyles) activeLink.style[x] = oActStyles[x];
}

- så er du om ikke andet sikker på, skidtet virker  :)
Avatar billede roenving Novice
14. juni 2005 - 11:19 #38
-- og tak for point ;~}
Avatar billede skovenborg Nybegynder
14. juni 2005 - 11:43 #39
også fint med mig - kunne ikke rigtig følge med det rasende tempo dette spørgsmål udviklede sig i (især ikke når man laver noget andet) ;-)
Avatar billede olebole Juniormester
14. juni 2005 - 16:32 #40
Jeg takker skam også for points ... og skovenborg, vi gamle må jo så prøve at holde igen med tempoet en anden gang  ;D
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