[javascript]Tekens invoeren werkt niet meer in Firefox

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Vinze
  • Registratie: Augustus 2006
  • Laatst online: 20-09 09:35
Goedemorgen!

Ik zit met een probleem waar ik niet uit kom, en hoop dat jullie mij kunnen helpen.
Op mijn website komt een textarea waarin men een bericht kan plaatsen. Doormiddel van javascript kan ik tekst/tekens invoeren in het textvak zodra er op een knop wordt gedrukt.
Dit script heb ik bij mijn oude site ook gebruikt, en deze werkte in zowel Internet Explorer 6/7 als in Mozilla Firefox. Andere browsers heb ik niet getest, maar dat is nu niet relevant.

Het probleem is dus dat hij ineens niet meer in Firefox werkt, terwijl hij in Internet Explorer perfect werkt.

Het script staat hieronder, wellicht dat jullie hem eens kunnen proberen en kijken wat er mis gaat. Zelf heb ik namelijk niet erg veel verstand van javascript, deze code heb ik gevonden op internet en zelf een beetje aangepast (orgineel kan ik niet meer vinden)

Hier de code:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript" src="opmaak_emo.js"></script>

<div style="margin: 5px 0px 5px 0px;">
<textarea cols="105" rows="15" class="textfield" name="text_A"></textarea>
<br>
<input type="button" value="B" onclick="wrapText(document.getElementById('text_A'), '[b]', '[/b]')" class="opmaak_button_b">
<input type="button" value="I" onclick="wrapText(document.getElementById('text_A'), '[i]', '[/i]')" class="opmaak_button_i">
<input type="button" value="U" onclick="wrapText(document.getElementById('text_A'), '[u]', '[/u]')" class="opmaak_button_u">
&nbsp;
<img onclick="addSmilie(document.getElementById('text_A'), ' :)');" src="style/smilies/smile.gif" alt=":)" class="pointer">
<img onclick="addSmilie(document.getElementById('text_A'), ' ;)');" src="style/smilies/wink.gif" alt=";)" class="pointer">
<img onclick="addSmilie(document.getElementById('text_A'), ' 8)');" src="style/smilies/cool.gif" alt="8)" class="pointer">
<img onclick="addSmilie(document.getElementById('text_A'), ' :P');" src="style/smilies/tong.gif" alt=":P" class="pointer">
<img onclick="addSmilie(document.getElementById('text_A'), ' :O');" src="style/smilies/eek.gif" alt=":O" class="pointer">
<img onclick="addSmilie(document.getElementById('text_A'), ' :e');" src="style/smilies/sarcasme.gif" alt=":e" class="pointer">
<img onclick="addSmilie(document.getElementById('text_A'), ' :X');" src="style/smilies/ssst.gif" alt=":X" class="pointer">
<img onclick="addSmilie(document.getElementById('text_A'), ' :bye:');" src="style/smilies/bye.gif" alt=":bye:" class="pointer">
</div>


In dit staat in het javascript bestand:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function addSmilie(el, emo) { 
    if (el.setSelectionRange) 
    {// W3C/Mozilla 
        el.value = el.value.substring(0,el.selectionStart) 
        + emo 
        + el.value.substring(el.selectionStart,el.selectionEnd) 
        + el.value.substring(el.selectionEnd,el.value.length); 
    }   else if (document.selection && document.selection.createRange) 
    {// IE 
        el.focus(); //or else text is added to the activating control 
        var range = document.selection.createRange(); 
        range.text = emo + range.text; 
    } 
}

function wrapText(el, openTag, closeTag) { 
    if (el.setSelectionRange) 
    {// W3C/Mozilla 
        el.value = el.value.substring(0,el.selectionStart) 
        + openTag 
        + el.value.substring(el.selectionStart,el.selectionEnd) 
        + closeTag 
        + el.value.substring(el.selectionEnd,el.value.length); 
    }   else if (document.selection && document.selection.createRange) 
    {// IE
        el.focus(); //or else text is added to the activating control 
        var range = document.selection.createRange(); 
        range.text = openTag + range.text + closeTag; 
    }
}


Html bestand is opgeslagen als textfield.php en wordt geinclude op diverse plaatsen op de website.
En het javascript bestand is opgeslagen als opmaak_emo.js en wordt weer opgeroepen in textfield.php.

Hoop dat iemand me kan helpen!

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:50

crisp

Devver

Pixelated

Geef je textarea dan ook een id="text_A"
De foutmeldingen in de javascript console hadden je dat ook kunnen vertellen lijkt me...

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Vinze
  • Registratie: Augustus 2006
  • Laatst online: 20-09 09:35
Super! Dankjewel _/-\o_

Ik dacht echt dat javascript alleen keek naar de naam van het veld, maar nu ik er nog een keer naar kijk en ik zie "getElementById" wordt het ineens allemaal duidelijk. Stomme is dat je dat soort dingen op een gegeven moment zelf niet meer ziet.

Beetje offtopic, maar wat bedoel je met die javascript console?

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:50

crisp

Devver

Pixelated

Beetje offtopic, maar wat bedoel je met die javascript console?
Tools -> Error Console (in de Engelse versie tenminste)

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 14:26

MueR

Admin Tweakers Discord

is niet lief

Firebug is ook een redelijke must-have trouwens.

Anyone who gets in between me and my morning coffee should be insecure.