login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Ubb werkt niet in IE

Offline BigBug - 18/07/2006 15:34
Avatar van BigBugPHP expert Ik heb hetvolgende scriptje:
  1. <script language="Javascript">
  2. function addtext(veld, ubb) {
  3. document.getElementById(veld).value += ubb;
  4. }
  5. </script>


En om smilies toe te voegen gebruik ik een code als deze:
  1. <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
Offline Maarten - 18/07/2006 15:38
Avatar van Maarten 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.
Offline BigBug - 18/07/2006 16:01
Avatar van BigBug 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....
Offline Micron - 18/07/2006 16:13
Avatar van Micron HTML beginner Heb je je <form> object ook een name gegeven en je textarea een de goede naam?
Offline Maarten - 18/07/2006 16:21
Avatar van Maarten Erelid Je moet je form geen naam geven, en de textarea werkt met ID.

Enneuh die klant heeft er geen baat bij, maar waarvoor bestaan er standaarden als niemand ze gebruikt. En wat hebben die tabellen daar mee te maken 

En ik zou het echt niet weten.. heb je ergens een pagina waar dat online staat?
Offline Simon - 18/07/2006 17:47 (laatste wijziging 18/07/2006 18:20)
Avatar van Simon PHP expert
  1. <form name="posten" ... >...
  2. <textarea name="tekst" ...>

doe het zo, en dan:
  1. <script language="Javascript">
  2. function addtext(veld, ubb) {
  3. document.forms['posten'].elements[''+veld+''].value += ubb;
  4. }
  5. </script>

en
  1. <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 
Offline Ibrahim - 18/07/2006 18:18 (laatste wijziging 18/07/2006 19:02)
Avatar van Ibrahim PHP expert @hierboven:
het is je vergeven 

''+veld+''

??

waarom niet gewoon veld
Offline BigBug - 18/07/2006 22:20
Avatar van BigBug PHP expert @Simon, ik zal het morgen eens proberen Iniedergeval bedankt!
Offline xSc - 19/07/2006 08:02
Avatar van xSc Onbekend Niet getest ....

document.forms[0].getElementById(veld).value += ubb;

waarbij forms[0] het eerste formulier in je document is.

Offline Simon - 19/07/2006 09:54
Avatar van Simon 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:
  1. <form name="form ...>
  2. <input type="text" name="onderwerp" ...> // elements[0]
  3. <textarea name="reactie"></textarea> // elements[1]
  4. </form>

  1. <form name="form ...>
  2. <input type="text" name="onderwerp" ...> // elements[0]
  3. <input type="text" name="gebruiker" ...> // elements[1]
  4. <textarea name="reactie"></textarea> // elements[2]
  5. </form>

hopelijk ben ik juist 
Offline xSc - 19/07/2006 09:55
Avatar van xSc Onbekend Haha, ja Simon, je hebt gelijk ;)
Offline haytjes - 19/07/2006 10:03
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
oftewel:

  1. document.forms[0].elements["naam"].value
  2. document.forms[0].naam.value


waarbij je de 'naam' verandert in het veld-naam: <textarea name="reactie"> wordt:

  1. document.forms[0].elements["reacti"].value
  2. 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" ... >...):

  1. document.forms["posten"].elements["reacti"].value
  2. document.forms["posten"].reactie.value


zodat als je een nieuwe form toevoegd, deze blijft werken...
Offline Simon - 19/07/2006 10:05
Avatar van Simon 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?
Offline haytjes - 19/07/2006 10:31
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
vanaf JavaScript1.2 zijn arrays gelijk aan objecten (zo goed als)
En vanaf dan kan je dat doen.
Als ik het niet mis heb is dat in IE5.0, dus hiermee ga je niet tegen veel mensen hun benen schoppen, aangezien getElementById ook maar vanaf JavaScript1.2 is.
Dus laten we zeggen dat ze alletwee compatible zijn met dezelfde browsers
Offline BigBug - 20/07/2006 09:05
Avatar van BigBug PHP expert Ik heb dus net de manier van Simon getest.. Maar deze werkt wel weer in FF maar niet in IE.. Jullie hebben verder wel reacties gepost maar hier snap ik niet zoveel van Kan iemand bij zoiets ff net zo'n post maken als bij die van Simon?

Alvast bedankt (kan ik die ook proberen),

Jeroen
Offline prorsoft - 20/07/2006 09:35
Avatar van prorsoft PHP gevorderde heb ik ook wel eens dat document.getElementById niet werkt... probeer dit eenz...
  1. <script language="Javascript">
  2. function addtext(veld, ubb) {
  3. var obj;
  4. obj=document.getElementById(veld);
  5. obj.value += ubb;
  6. }
  7. </script>
Offline BigBug - 20/07/2006 10:02
Avatar van BigBug PHP expert @prorsoft....

Helaas werkt het niet:(
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.286s