Avatar billede bx Nybegynder
10. november 2006 - 13:50 Der er 33 kommentarer og
1 løsning

Tekst over billede

Hej.

Jeg har en webshop hvor jeg har et tekst felt hvor jeg indtaster f.eks. Peter. Derefter når kunden vælger "Køb" får kunden produktet med sit navn på. Det virker fint.

Men jeg ønsker at når kunden indtaster navnet i tekst feltet lægger navnet sig over billedet af produktet.

Jeg bruger FORM i HTML koden for at vedhæfte teksten til varen som tingene er nu.

Hvordan gør man det?
Avatar billede jokkejensen Novice
10. november 2006 - 14:05 #1
du positionerer det bare til at ligge oven på.. ala:

<div style="position:relative">
<img src="http://www.google.com/intl/en_ALL/images/logo.gif" alt="" />
<div style="position:absolute:top: 10px; left: 10px;">BILLEDETEKST</div>
</div>
Avatar billede jokkejensen Novice
10. november 2006 - 14:06 #2
how... det skal selvfølgeligt være

position:abosolute; altså slutte på semikolon !
Avatar billede bx Nybegynder
10. november 2006 - 15:59 #3
Ja men det skal foregå dynamisk. Så først er kunde præsenteret med en side hvor der er et produkt billede og en tekstboks. Når han så taster sit navn ind "popper" teksten så henover billedet så han kan se hvordan produktet ser ud med hans navn på.
Avatar billede jhe-ting Nybegynder
10. november 2006 - 18:49 #4
Prøv denne løsning:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
<script type="text/javascript">
function updateImgText(sTextId, sImgText){
    document.getElementById(sTextId).innerHTML=sImgText;
}
</script>
</head>
<body>
<div style="position:relative">
<img src="http://www.google.com/intl/en_ALL/images/logo.gif" alt="" />
<div id="imgText" style="position:absolute;top: 10px; left: 10px;">DIT NAVN</div>
</div>
<form action="" id="theForm">
<input type="text"
value="DIT NAVN"
onkeyup="document.getElementById('imgText').innerHTML=this.value;" />
</form>
</body>
</html>
Avatar billede jhe-ting Nybegynder
11. november 2006 - 18:27 #5
Kan du få det til at virke?
Avatar billede roenving Novice
12. november 2006 - 03:14 #6
>>jhe-ting

Hvadfor dog bruge xhtml, når du skriver ugyldig xhtml scipt ?-)
Avatar billede jhe-ting Nybegynder
12. november 2006 - 06:47 #7
Ok roenving. Hvad så med

    document.getElementById('imgText').innerText=this.value

(:S)
Avatar billede roenving Novice
13. november 2006 - 01:43 #8
*lol*

-- ja, så vil (bør !-) ingen browsere i standards-mode være med !-)
Avatar billede jhe-ting Nybegynder
13. november 2006 - 06:27 #9
>>roenving
Hvorfor kommer du ikke med et konstruktivt forslag?
Hvilken DOCTYPE anbefaler du, og til den, hvilken metode anbefaler du?
Mit eksempel virker (ser rigtigt ud {i mine øjne} som sådan) i både IE6 og FF2.

>>bx
Jeg håber du kan bruge det her til noget.
Er du kommet videre?
Avatar billede jhe-ting Nybegynder
13. november 2006 - 06:31 #10
PS: Det er (10/11-2006 18:49:35) der virker;

innerText virker ikke i FF2

(:S)
Avatar billede jhe-ting Nybegynder
13. november 2006 - 06:35 #11
PPS: scriptet med funktionen updateImgText er overflødigt i eksemplet, men er måske anvendeligt
Avatar billede bx Nybegynder
13. november 2006 - 10:40 #12
Hejsa. Tak for svarene. Jeg har ikke rigtig haft tid her i weekenden så jeg tester det lige...
Avatar billede olebole Juniormester
13. november 2006 - 12:03 #13
<ole>

innerText har aldrig været valid i nogen standard - og udtryk som 'this.value' hører til HTML-DOM, som ikke kan bruges under XHTML. Under XML-DOM skal man bruge getAttribute i stedet  ;o)

/mvh
</bole>
Avatar billede olebole Juniormester
13. november 2006 - 12:06 #14
- og innerHTML har i øvrigt heller aldrig været standard og vil øjeblikkeligt dræbe enhver browser med ægte XHTML-understøttelse (når sådan én altså engang kommer på markedet)  =)
Avatar billede jhe-ting Nybegynder
13. november 2006 - 12:16 #15
>> ole
Det er da konstruktivt du nævner getAttribute, men kan du vise hvordan man ændrer det ønskede indhold på en standardiseret måde?
Avatar billede olebole Juniormester
13. november 2006 - 12:52 #16
Det kan egentlig godt undre mig lidt, du er så forhippet på, vi andre skal skrive nogle 'konstruktive' eksempler. Jeg tror endnu ikke, jeg har set dig skrive ét validt kodeeksempel, men derimod en hel del invalide IE-only løsninger ... hvor konstruktivt er dét mon?  ;o)

    onkeyup="document.getElementById('imgText').firstChild.nodeValue=this.getAttribute('value');"
Avatar billede jhe-ting Nybegynder
13. november 2006 - 21:26 #17
Jeg prøver at være positiv og åben til trods for flere negative indlæg.
Det kan godt være der er noget af min kode der er lidt 'løs' men jeg arbejder på det.
Hvis et stykke kodes invaliditet ikke medfører synlige handicaps er det svært at forholde sig til negativ kritik. Derfor har jeg nu to gange spurgt efter konstruktive forslag.
Avatar billede olebole Juniormester
14. november 2006 - 08:17 #18
"Hvis et stykke kodes invaliditet ikke medfører synlige handicaps er det svært at forholde sig til negativ kritik" ... ja, så har du jo et seriøst problem. Din kode er såmæmd ikke 'lidt løs' ... i bedste fald virker den p.gr.a. browser-bugs  :)
Avatar billede jhe-ting Nybegynder
14. november 2006 - 13:04 #19
>> ole:
Hvis jeg forstår dig ret, så er det du foreslår ikke anvendeligt til FF2.
Der er her tale om et synligt handicap, FF2 reagerer ikke; dog gør IE6 hvad der ønskes.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<title>Untitled Page</title>
</head>
<body>
<div style="position:relative">
<img src="http://www.google.com/intl/en_ALL/images/logo.gif" alt="" />
<div id="imgText" style="position:absolute;top: 10px; left: 10px;">DIT NAVN</div>
</div>
<form action="" id="theForm">
<input type="text"
value="DIT NAVN"
onkeyup="document.getElementById('imgText').firstChild.nodeValue=this.getAttribute('value');" />
</form>
</body>
</html>

Dette Eksempel virker IKKE.

Brug den stærkt kritiserede kode fra 10/11-2006 18:49:35 eller afvent et endnu mere
browserkompatibelt forslag fra ole, eller andre ...
Hvad jhælper 'validitet' når funktionaliteten mangler?
Avatar billede roenving Novice
16. november 2006 - 01:01 #20
Hrm, så er det jo spørgsmålet om vi har misforstået javascript-xhtml-binding, eller browserne ikke er kommet så langt endnu !-)

>>ole

Har du lige det direkte link til den i xhtml-strict-udgave ?-)
Avatar billede jhe-ting Nybegynder
16. november 2006 - 01:26 #21
Er det intro'en du mener?

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

Det har jeg også prøvet. Virker heller ikke i FF2.
Jeg ku' vældig godt tænke mig at blive klogere på det her.
Der er dels det med 'quirks'-mode i IE og dels FF's IE-compability-mode (eller sådan noget lignede...)

Jeg har bl.a. kigget på http://www.w3.org/QA/2002/04/valid-dtd-list.html og
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dom/domoverview.asp?frame=false
men der er jo meget mere ... …
Avatar billede jhe-ting Nybegynder
16. november 2006 - 01:30 #22
Også denne har jeg prøvet:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Det ser ud til at der er forskel på hvordan DOM-træet bliver organiseret i IE6 og FF2 ?
Avatar billede jhe-ting Nybegynder
16. november 2006 - 01:34 #23
Man kan vist ikke få IE6 til at arbejde i 'ægte' XML-mode (XHTML) eller kan man?
Hvad med IE7? Er den god (til det)?
Avatar billede roenving Novice
16. november 2006 - 02:51 #24
xml-deklarationen skulle virke godt nok i FF (og vist Opera 8+ !-), hvis vel at mærke dokumentet sendes som application/xml+xhtml og ikke som text/html ...

-- de fleste servere er så indstillet til at sende htm(l)-filer som text/html, så det bliver til et fedt ...

-- nogle xhtml-entusiaster tester så, hvilken browser, der er i den anden ende, og serverer deres xhtml-ting med den gyldige til de delvis xhtml-klare, og så med tilbagefald til text/html, hvis det er en IE, der er i den anden ende ...

-- såvidt jeg er orienteret, er buggen med xml-deklarationen fjernet i IE7, men ellers arbejder den bare videre i samme surdej (sikkert fordi den grundlæggende kode stadig er den, der blev lavet, da M$ satsede hele butikken med udviklingen af IE4 !-)

-- og ja, der er faktisk en rimelig voldsom forskel, en tydelig forskel kom f.eks. frem, hvis man med tidligere FF-udgaver ville prøve at arbejde med indsættelse af rækker og celler i tabeller ...

_Alle_ browsere indsætter tbody-elementer imellem table- og tr-tags, men FF accepterede, at man appendede tr-elementer til table-tagget, mens IE forlangte, at man indsatte dem direkte i tbody-elementet (hvis man så gik via et parent-element til et tr-element, virkede det ens !-)

Du kan få forskellige plug-ins, der viser IEs behandling af DOM, så du direkte kan sammenligne med FFs DOM-inspector, mange små forskelle, nogle af dem direkte relateret til FFs javascript-håndterings-tilgang, andre til fikse ideer i IE, som, såvidt jeg kan gennemskue, kan tilskrives en-eller-anden tilfældig (Bombay-baseret) programmørs ideer om, hvordan M$s retningslinjer og W3Cs ditto skulle prioriteres i forhold til hinanden ,-(
Avatar billede jhe-ting Nybegynder
16. november 2006 - 18:20 #25
Jeg synes du er meget stille bx. Jeg håber ikke vi har forvirret dig med diskussionen.
Hvad der er det 'rigtige' kan være svært at afgøre. Meget afhænger hvilken DTD du brugte før, for at din eksiterende kode skal virke.

Her er endnu en variant. Nu med HTML 4.01 loose.
Virker i IE6, FF2 og http://validator.w3.org/

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<title>Untitled Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<div style="position:relative">
<img src="http://www.google.com/intl/en_ALL/images/logo.gif" alt="" />
<div id="imgText" style="position:absolute;top: 10px; left: 10px;">DIT NAVN</div>
</div>
<form action="" id="theForm">
<input type="text"
value="DIT NAVN"
onkeyup="document.getElementById('imgText').innerHTML=this.value;" />
</form>
</body>
</html>

Håber vi finder frem til en passende løsning.
Avatar billede roenving Novice
16. november 2006 - 23:42 #26
Husk at fjerne xml-lukninger, når du laver html 4.01 !-)
Avatar billede jhe-ting Nybegynder
17. november 2006 - 14:43 #27
Jeg ved godt at de er overflødige, men de giver ingen fejl.
Er de 'farlige'?
Avatar billede roenving Novice
20. november 2006 - 00:14 #28
De aktiverer bare fejlretningskoden og giver derfor langt længere parsingtid i browseren ...

-- og de giver faktisk fejl i validatoren !-)
Avatar billede jhe-ting Nybegynder
20. november 2006 - 00:34 #29
Hvilken validator viser fejl?  http://validator.w3.org/  viser ingen fejl.
Avatar billede roenving Novice
20. november 2006 - 00:56 #30
Nu tillader html 4-trans jo en hel masse, bl.a. de gamle html 3.2-ting og altså også nogle ting, som overhovedet ikke var aktuelle, da standarden blev skrevet, hvilket liiige overrasker mig ...

-- men html 4 er det i hvert fald ikke (hvilket du kan overbevise dig om, ved at checke med html 4.01 strict !-)
Avatar billede jhe-ting Nybegynder
20. november 2006 - 01:16 #31
Ja - jeg kan se at w3 validator ikke opdager en manglende HEAD-tag med loose DTD.

bx >> Er du helt lammet af alt dette? Kan du finde en løsning du kan bruge?
Avatar billede bx Nybegynder
21. november 2006 - 19:47 #32
Hej jhe-ting.

Undskyld den lange ventetid. Jeg har været optaget oppe til begge øre. Jeg skulle være klar til julesalget.

Begge dine løsninger virker super godt *Both thumbs up*

Det var lige hvad jeg har brug for!!! Nem og kort kode (jeg brugte den sidste).

Det virker ikke rigtigt i FireFox... Det betyder dog ikke så meget da de fleste bruger IE selvom jeg er super FireFox fan.

Tør næste ikke spørge... hvad så hvis jeg har et billede for hvert bogstav som jeg bruge istedet? F.eks. a.gif, b.gif osv. fonts på nettet er jo ret begrænset.

Du får dog points anyways.

Tak skal du have :)
Avatar billede bx Nybegynder
21. november 2006 - 19:53 #33
Her er dine point
Avatar billede roenving Novice
22. november 2006 - 09:38 #34
Hvis man skal gøre det med billed-fonts skal man lave en rutine, der erstatter teksten med billeder, muligt, men ikke det jeg først ville tænke i !-)
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