Avatar billede kongfjong Nybegynder
15. august 2006 - 13:38 Der er 21 kommentarer og
1 løsning

JavaScript - problemer med Firefox

Hej, jeg forsøger at lave en funktion som skal tilføje noget
tekst i et textarea i en formular. Scriptet ser således ud:

<script type="text/javascript">

function insertPic ()
  {
      var billede = document.behandling.billed_til_tekst.value;
      var justering = document.behandling.billed_justering.value;
           
      if (justering = "right")
      {
        var css_class = "img_right";
      }
      else
      {
        var css_class = "img_left";
      }
           
      var tekst = document.createTextNode(' <img alt="' + billede + '" src="behandlinger/' + billede + '" class="' + css_class + '" />');
           
      document.behandling.behandling_tekst.appendChild(tekst);
}
</script>

Det fungerer perfekt i Explorer, men i Firefox kommer der et
problem, hvis man selv går ind i textarea'et og skriver noget, og
derefter forsøger at tilføje noget ny text vha. funktionen,
virker det ikke i Firefox, men fint i Explorer.

Er det noget der kan løses, eller må man bare acceptere at
Explorer på dette punkt er bedre end Firefox?
Avatar billede roenving Novice
15. august 2006 - 13:47 #1
Er der linjeskift i grund-teksten og/eller er der i det, du skriver ?-)
Avatar billede olebole Juniormester
15. august 2006 - 13:47 #2
<ole>

Prøv:

<script type="text/javascript">

function insertPic ()
  {
      var billede = document.behandling.billed_til_tekst.value;
      var justering = document.behandling.billed_justering.value;
           
      if (justering = "right")
      {
        var css_class = "img_right";
      }
      else
      {
        var css_class = "img_left";
      }
           
      var tekst = ' <img alt="' + billede + '" src="behandlinger/' + billede + " class="' + css_class + '" />';
           
      document.behandling.behandling_tekst.value += tekst;
}
</script>

/mvh
</bole>
Avatar billede kongfjong Nybegynder
15. august 2006 - 13:58 #3
@roenving
Det er faktisk lidt ligegyldigt hvd jeg skriver:) Har prøvet med og uden linjeskift:)

@olebole
Den løsning giver følgende output i textarea'et: [object Text] som dog fungerer når jeg har skrevet i feltet manuelt, men outputtet er så lidt sært:)

Det sjove er, at kigger jeg i Firefox' DOM Inspektør, så kommer der faktisk tilsvarende antal node's efterhånden som man trykker på knappen i formularen, og med det rigtige indhold, de vises bare ikke i textarea'et...
Avatar billede olebole Juniormester
15. august 2006 - 14:09 #4
Det forstår jeg ikke. Dit oprindelige eksempel har ikke meget med DOM at gøre - og den løsning, jeg har angivet burde virke helt uden problemer.
På den anden side kan man aldrig vide, da FF's DOM-lag er komplet fucked-up  :oP

Jeg har ikke en FF at teste i på denne PC, men jeg checker, når jeg kommer hjem.
Avatar billede kongfjong Nybegynder
15. august 2006 - 14:12 #5
okay, cool:) Vil du have koden til formularen?
Avatar billede davidfossil Nybegynder
15. august 2006 - 14:34 #6
var billede = document.behandling.billed_til_tekst.value;
var justering = document.behandling.billed_justering.value;

Mig bekendt kan det overhovedet ikke lade sig gøre at referere til elementer på denne måde i FF. Prøv med:
var billede = document.getElementById("idPåFelt2").value;
var justering = document.getElementById("idPåFelt3").value;
Avatar billede olebole Juniormester
15. august 2006 - 14:40 #7
davidfossil >> Det er 'okay HTML-DOM' ... og det kan FF godt håndtere. FF kan godt få fat i formen med: 'document.behandling' ... og 'FORM.billed_til_tekst' er ganske anvendeligt til at hente et felt med  :)
Avatar billede roenving Novice
15. august 2006 - 14:40 #8
Den er skam helt fin i HTML-DOM, og dermed altid i IE (for nuværende !-)

-- men kommer man over i xhtml vil den give problemer -- men det er der flere ting, der vil ...
Avatar billede kongfjong Nybegynder
15. august 2006 - 15:35 #9
Dvs en del af problemet ligger i at jeg kører XHTML og ikke bare HTML?
Avatar billede kongfjong Nybegynder
16. august 2006 - 08:31 #10
Den fejl jeg nævner i FF kommer faktisk også i IE...
Avatar billede olebole Juniormester
16. august 2006 - 09:17 #11
Prøv med et link til et eksempel
Avatar billede kongfjong Nybegynder
16. august 2006 - 10:51 #12
http://www.martinhjort.net/hudplejeklinikken/admin_michael/index.php?action=behandling

Fejlen er som beskrevet i starten, skal det i stedet være med den sidste fejl?
Avatar billede olebole Juniormester
16. august 2006 - 11:13 #13
Jamen, der er ikke noget at sige til, den kode ikke virker. Lad mig hellere se eksemplet, jeg viste i (15/08-2006 13:47:18)
Avatar billede kongfjong Nybegynder
16. august 2006 - 12:05 #14
Så skulle den være oppe:)
Avatar billede olebole Juniormester
16. august 2006 - 12:17 #15
Warning: mysql_connect(): Access denied for user 'kongfjong'@'localhost' (using password: YES) in /srv/www/htdocs/web2871/html/hudplejeklinikken/admin_michael/mysqlconn.php on line 3
Access denied for user 'kongfjong'@'localhost' (using password: YES)
Avatar billede kongfjong Nybegynder
16. august 2006 - 12:29 #16
Sådan:)
Avatar billede olebole Juniormester
16. august 2006 - 12:31 #17
Du skal ikke oprette en textNode:

      var tekst = ' <img alt="' + billede + '" src="behandlinger/' + billede + " class="' + css_class + '" />';
           
      document.behandling.behandling_tekst.value += tekst;
Avatar billede kongfjong Nybegynder
16. august 2006 - 12:40 #18
Ah for pokker da også:)

Nu virker det:) Du er GUD:D
Avatar billede olebole Juniormester
16. august 2006 - 12:47 #19
Hehe ... rolig nu. Jeg smider lige et svar  ;D
Avatar billede kongfjong Nybegynder
16. august 2006 - 12:49 #20
Men ret simpelt når jeg tænker over det:) Nogle gange tror man det skal være så smart som bøgerne nogle gange vil have det til at være:)
Avatar billede olebole Juniormester
16. august 2006 - 12:53 #21
Nemlig ... og tak for points  ;o)
Avatar billede kongfjong Nybegynder
16. august 2006 - 13:27 #22
Fornøjelsen er helt på min side;)
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