[JS]Document.formulier.textarea is leeg of geen object

Pagina: 1
Acties:

  • bibawa
  • Registratie: Augustus 2005
  • Laatst online: 13-04-2008
Ja ik krijg dus de foutmelding zoals beschreven in de titel als ik een javascript functie uitvoer om met een klik op de muis een smilie toe te voegen aan een textarea

Ik gebruik deze functie:

code:
1
2
3
4
5
6
7
8
        <script type="text/javascript" language="javascript">
    
            function Smilies(code){
                document.formulier.txtReactie.value+=code;
                document.formulier.txtReactie.focus();
            }

        </script>


En zo roep ik die functie op :
code:
1
  <a href="javascript:smilies(':)');">[img]"smilies/lach.gif"></a[/img]


Klik ik nu op die smilie dan zegt ie dus document.formulier.txtReactie is leeg of geen object.

Op mijn lokale versie die idem is aan de online versie werkt m'n javascript wel perfect, het is niet enkel met die script maar ook met andere, die problemen heb ik door omwegen te maken wel kunnen oplossen maar ik vind het wel heel bizar dat het lokaal allemaal wel werkt.

Waar kan dit aanliggen, zou dit een of andere instelling zijn of wat kan er nog meer scheef zitten

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

crisp

Devver

Pixelated

Laat je formulier eens zien?

nette methode:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script type="text/javascript">

function Smilies(code)
{
    var form = document.forms['formulier'], textarea = form.elements['txtReactie'];
    textarea.value += code;
    textarea.focus();
}

</script>
...
<form id="formulier" action="script.php" method="post">
...
    <textarea name="txtReactie"></textarea>
...
</form>
<img src="smilies/lach.gif" onclick="smilies(':)')">

mede vanuit de gedachte: als het geen link is gebruik dan geen anchor-element

Intentionally left blank


  • gvanh
  • Registratie: April 2003
  • Laatst online: 02-12-2023

gvanh

Webdeveloper

Maar dan zou ik de functie wel als volgt doen:

JavaScript:
1
2
3
4
5
6
7
8
9
<script>
function Smilies(code)
{
    var f = document.getElementById('formulier'), area = f.txtReactie;
    area.value += code;
    area.focus();
}

</script>

Dus met document.getElementById ... dat is de DOM standaard, waarbij cross-browser ondersteuning de grootste kans van slagen heeft.

[ Voor 26% gewijzigd door gvanh op 09-03-2006 09:14 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 07-04 14:13

André

Analytics dude

Of je nu de document.forms collectie gebruikt of getElementById maakt echt niets uit. Maar dat je vervolgens de elements collection vervangt door f.txtReactie is raar, dat heeft niets met DOM te maken is is afhankelijk van de implementatie van de browser.