Ubb werkt niet in IE
BigBug - 18/07/2006 15:34
PHP expert
Ik heb hetvolgende scriptje:
<script language="Javascript">
function addtext(veld, ubb) {
document.getElementById(veld).value += ubb;
}
</script>
<script language = "Javascript" >
function addtext( veld, ubb) {
document. getElementById( veld) . value += ubb;
}
</script>
En om smilies toe te voegen gebruik ik een code als deze:
<img border="0" src="ubb/nosmile2.png" onClick="javascript:addtext('S1',':|')">
< img border= "0" src= "ubb/nosmile2.png" onClick= "javascript:addtext('S1',':|')" >
Het tekstveld heeft het id: 'S1'.
Dit werkt allemaal heel lekker. Totdat ik ontdekte dat dit in internet explorer niet werkte.
Weet iemand wat ik hieraan kan doen zodat het zowel in IE als FF werkt? (die 2 zijn een must)
Greetz, Bug
16 antwoorden
Gesponsorde links
Maarten - 18/07/2006 15:38
Erelid
Welke error geeft dat in Internet Exporer dan?
En waarom schrijf je de Click van onclick met een hoofdletter, in XHTML moeten alle attributen in lowercase.
BigBug - 18/07/2006 16:01
PHP expert
Net alsof ik iets van ruim 50 pagina's met superveel tabellen xhtml ga maken terwijl het voor een klant is die daar geen baat bij heeft - en het dus ook niet hoeft.
Niks error.. Er komt niks in het tekstveld....
Micron - 18/07/2006 16:13
HTML beginner
Heb je je <form> object ook een name gegeven en je textarea een de goede naam?
Simon - 18/07/2006 17:47 (laatste wijziging 18/07/2006 18:20)
PHP expert
<form name="posten" ... >...
<textarea name="tekst" ...>
< form name= "posten" ... >...
< textarea name= "tekst" ...>
doe het zo, en dan:
<script language="Javascript">
function addtext(veld, ubb) {
document.forms['posten'].elements[''+veld+''].value += ubb;
}
</script>
<script language = "Javascript" >
function addtext( veld, ubb) {
document. forms[ 'posten' ] . elements[ '' + veld+ '' ] . value += ubb;
}
</script>
en
<img border="0" src="ubb/nosmile2.png" onClick="javascript:addtext('tekst',':|')">
< img border= "0" src= "ubb/nosmile2.png" onClick= "javascript:addtext('tekst',':|')" >
veel succes
edit@hieronder:
ik wist niet zeker of het:
elements[+veld+] of elements[veld] moest zijn, dus deed ik maar met '';
sry
xSc - 19/07/2006 08:02
Onbekend
Niet getest ....
document.forms[0].getElementById(veld).value += ubb;
waarbij forms[0] het eerste formulier in je document is.
Simon - 19/07/2006 09:54
PHP expert
@henri:
document.forms[0].getElementById(veld).value += ubb;
-->
document.forms[0].elements[$i].value += ubb;
waarbij je $i moet vervangen door de plaats waar het staat in je form
voorbeeld:
<form name="form ...>
<input type="text" name="onderwerp" ...> // elements[0]
<textarea name="reactie"></textarea> // elements[1]
</form>
< form name= "form ...>
<input type=" text" name=" onderwerp" ...> // elements[0]
<textarea name=" reactie"></textarea> // elements[1]
</form>
<form name="form ...>
<input type="text" name="onderwerp" ...> // elements[0]
<input type="text" name="gebruiker" ...> // elements[1]
<textarea name="reactie"></textarea> // elements[2]
</form>
< form name= "form ...>
<input type=" text" name=" onderwerp" ...> // elements[0]
<input type=" text" name=" gebruiker" ...> // elements[1]
<textarea name=" reactie"></textarea> // elements[2]
</form>
hopelijk ben ik juist
xSc - 19/07/2006 09:55
Onbekend
Haha, ja Simon, je hebt gelijk ;)
haytjes - 19/07/2006 10:03
JS gevorderde
oftewel:
document.forms[0].elements["naam"].value
document.forms[0].naam.value
document. forms[ 0 ] . elements[ "naam" ] . value
document. forms[ 0 ] . naam. value
waarbij je de 'naam' verandert in het veld-naam: <textarea name="reactie"> wordt:
document.forms[0].elements["reacti"].value
document.forms[0].reactie.value
document. forms[ 0 ] . elements[ "reacti" ] . value
document. forms[ 0 ] . reactie. value
en als je ook bij de formulier begin ook een naam zet, verander je het best naar (<form name="posten" ... >...):
document.forms["posten"].elements["reacti"].value
document.forms["posten"].reactie.value
document. forms[ "posten" ] . elements[ "reacti" ] . value
document. forms[ "posten" ] . reactie. value
zodat als je een nieuwe form toevoegd, deze blijft werken...
Simon - 19/07/2006 10:05
PHP expert
idd haytjes, persoonlijk vind ik het gebruik van names simpeler dan gebruik te maken van 0,1,2, ...
ik gebruik altijd elements["reactie"].value en niet reactie.value
is het tweede compatibel met alle browsers?
prorsoft - 20/07/2006 09:35
PHP gevorderde
heb ik ook wel eens dat document.getElementById niet werkt... probeer dit eenz...
<script language="Javascript">
function addtext(veld, ubb) {
var obj;
obj=document.getElementById(veld);
obj.value += ubb;
}
</script>
<script language = "Javascript" >
function addtext( veld, ubb) {
var obj;
obj= document. getElementById( veld) ;
obj. value += ubb;
}
</script>
BigBug - 20/07/2006 10:02
PHP expert
@prorsoft....
Helaas werkt het niet:(
Gesponsorde links
Dit onderwerp is gesloten .