18. oktober 2001 - 19:50Der er
24 kommentarer og 1 løsning
uredigerbar tekst
Hvordan laver man et felt i en form eller andet som har en VALUE ,men brugeren kan ikke ændre i den. Ligesom en label i java ? Det skal ikke være et text felt. Det skal bare ligne almindelig text, men det skal have en VALUE så jeg kan bruge den string til en variabel oppe i mit javascript
Hvad mener du med at den skal understøtte NS4 ? Og hvad skulle det hjælpe at sætte det ind i en tabel? Kan man definere feltet til at have en value da?
...eller <span></span> ....de er beregnet til det i modsætning til <a></a>! På den anden side vil jeg gerne rose martinfrost (han trænger...!) for hans forslag alligevel. <a> har nemlig den fordel fremfor <span>, at den modtager styles på borders - men laver ikke linieskift som <div> gør det ;o)
jakoba >> nuvel....det virker - men æstetikken...! ;oD /mvh
<span> og <div> er oprindelig beregnet som \'neutrale\' containere til at \'opbevare\' og formatere tekst- og billedelementer i. <a> er et anker, du kan give et navn....kalde det i et link med en \'havelåge\' (#) foran navnet - så springer man til stedet på siden, hvor ankeret er skrevet ind.
Med CSS og JavaScript er det endvidere muligt at pynte, flytte, gemme skrive til og læse fra den slags container-elementer. I princippet kan man anvende de fleste HTML-tags til den slags, men <div> og <span> er de to, der ellers ikke har et formål...de er \'neutrale containere\'.
Jeg kan som et kuriosum nævne, at MS\' knap/menu-bar i OutLook Exchange er bygget op efter metoden: <a style=\"border:1px #farve solid\" onmouseover=\"this.style.border=\'1px #farve outset\'\" onclick=\"klikFunktion();this.style.border=\'1px #farve inset\'\" onmouseout=\"this.style.border=\'1px #farve solid\'\">Billede og tekst</a>
...se det kunne ikke være lavet med <span>, da de ikke tager \'style.border\'. <div> ville lave liniebrud, hvis ikke de blev positioneret absolut...derfor <a></a> /mvh
I har alle svaret godt og kvalificeret, så I har faktisk fortjent pointene ligemeget. Så jeg har bare valgt en af jer, kunne lige så godt have været en af jer andre. Men tusind tak for hjælpen
martinfrost >> det er en af dem der virker i IE, men er ukorrekt javascript :(
korrekt adressering af en div er noget i retning af:
var divObj; // modtager referencen if ( document.getElementById ) divObj = document.getElementById( \'divNavn\' ) else if ( document.all ) divObj = document.all[ \'divNavn\' ] else alert( \"der kan alligevel ikke bruges innerHTML i denne div\" );
Vi kan hurtigt blive enige om at det er fristende at bruge den korte form :-))
Ja, det er jo det. Jeg har nemlig aldrig haft en HTML/JavaScript bog eller fået nogen form for undervisning i det, så jeg ved kun hvad der virker ud fra, hvad jeg selv har prøvet - og ja, jeg synes da også de virkede lidt ulogisk, hvis document. skulle fjernes :)
Jeg kan ikke få skidtet til at virke. Det er meningen at jeg vil opretter objektet, og derefter udskrive det for at se om den har fået de rigtige tal. Her er koden.
(Dog uden document. foran innerHTML\'erne, men det må du lige få Jakoba til at kigge på, hvis de skal med på en eller anden måde - jeg kan ikke få det til at funge hvis de er med, men jeg tror de skal med på en eller anden måde)...
function getElm ( navn ) { // virker kun i et IE eller DOM miljø if ( document.getElementById ) return document.getElementById( navn ) else if ( document.all ) return document.all[ navn ]; alert( \"der kan alligevel ikke bruges innerHTML i denne div\" ); return null; }; //end getElm
function temp_1_1() { var nvn = getElm(\'navn_1_1\'); this.type=nvn.innerHTML; var prs = getElm(\'pris_1_1\'); this.pris=prs.innerHTML; this.antal=document.gunform.antal_1_1.value; this.udskriv=udskriv; }
function udskriv() { document.gunform.debug.value += \"\"+this.type+\" \"+this.pris+\" \"+this.antal +\"\\n\"; }
function opret_obj() { var obj = new temp_1_1(); obj.udskriv(); pistolarray[pistolarray.lengt]=obj; }
pas på med at bruge document.write(...) til at debugge. Når siden er loadet vil et senere kald til document.write skrotte hele siden for at gøre plads til det man skriver.
hmmm jeg må være meget dårlig til at lave javascript, men jeg kan altså simpelthen ikke få det til at virke. Martin med din kan jeg godt få skidtet til at virke med det første objekt jeg skal oprtte, men de efterfølgende 5 virker det ikke. Jakoba, dit eksempel kan jeg slet ikke få til at virke. Og den der test du lave i starten med om mand overhovedet KAN bruge innerHTML, hvorfra bliver den kaldt. For mig at se er det bare en funktion der står og ikke laver noget. Jeg prøver lige at sende hele koden, som den ser ud i øjeblikket. I skal nok begge få point bagefter...
function getElm ( navn ) { // virker kun i et IE eller DOM miljø if ( document.getElementById ) return document.getElementById( navn ) else if ( document.all ) return document.all[ navn ]; alert( \"der kan alligevel ikke bruges innerHTML i denne div\" ); return null; }; //end getElm
function temp_1_1() { type=navn_1_1.innerHTML; pris=pris_1_1.innerHTML; antal=document.gunform.antal_1_1.value; udskriv=udskriv(); }
function temp_1_2() { type=navn_1_2.innerHTML; pris=pris_1_2.innerHTML; antal=document.gunform.antal_1_2.value; udskriv=udskriv(); }
function temp_1_3() { type=navn_1_3.innerHTML; pris=pris_1_3.innerHTML; antal=document.gunform.antal_1_3.value; udskriv=udskriv(); }
function temp_1_4() { type=navn_1_4.innerHTML; pris=pris_1_4.innerHTML; antal=document.gunform.antal_1_4.value; udskriv=udskriv(); }
function temp_1_5() { type=navn_1_5.innerHTML; pris=pris_1_5.innerHTML; antal=document.gunform.antal_1_5.value; udskriv=udskriv(); }
function temp_1_6() { type=navn_1_6.innerHTML; pris=pris_1_6.innerHTML; antal=document.gunform.antal_1_6.value; udskriv=udskriv(); }
function udskriv() { document.write(\"\"+this.type+\" \"+this.pris+\" \"+this.antal); }
din første document.write sletter hele siden. Prøv at sige \"vis kilde\" før og så efter du klikker på knappen.
funktionen getElm bruges til at få fat i de rigtige html-elementer. den kaldes 2 gange først i din temp_1_1 funktion. function temp_1_1() { var nvn = getElm(\'navn_1_1\'); this.type=nvn.innerHTML; var prs = getElm(\'pris_1_1\');
din linie udskriv=udskriv(); kalder funktionen udskriv. for at lægge funktionen ind som lokal funktion i objektet skal du blot skrive: this.udskriv = udskriv; //NB uden parenteser efter
mvh JakobA
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.