[JS/Ajax]Textarea vullen

Pagina: 1
Acties:

  • Depress
  • Registratie: Mei 2005
  • Laatst online: 24-11 21:01
Hoi,

Ik heb een klein probleemje. Ik heb een script waar ik door middel van ajax content op haal. Dit wil ik in een text area zetten. Maar het probleem is dat er niks in de text area komt.

Dit is mijn code:
JavaScript:
1
2
3
4
5
6
7
8
function handleResponse() {
        if(http.readyState == 4){
            var response = http.responseText;
            alert(response);
    var elm = document.getElementById('Content');
    elm.innerHTML = response;
        }
}


Code van het form:
HTML:
1
2
3
<form method="post" name="cform">
<textarea name="cContent" cols="72" rows="15" id="Content">Create your content here.</textarea><br/>
</form>


Hij alert de code netjes.
In IE geeft hij de fout:
Unkown runtime error on line 67. Line 67 is de line waar ik elm.innerHTML gebruik.

Wat doe ik fout? Ik heb al vanalles geprobeerd...

Verwijderd

To maintain compatibility with earlier versions of Internet Explorer, this property applies to the textArea object. However, the property works only with strings that do not contain tags. With a string that contains a tag, this property returns an error. It is better to use the innerText property with this object.

bron: http://msdn.microsoft.com.../properties/innerhtml.asp

wellicht de moeite waard om te proberen!

[ Voor 17% gewijzigd door Verwijderd op 22-11-2006 15:45 ]


Verwijderd

Beter nog om de response search/replacen op "<", ">" en "&".
JavaScript:
1
2
3
4
var response = http.responseText;
response = response.replace(/&/g, '&amp;');
response = response.replace(/</g, '&lt;');
response = response.replace(/>/g, '&gt;');

[ Voor 18% gewijzigd door Verwijderd op 22-11-2006 16:11 . Reden: Wel ff in de goede volgorde replacen natuurlijk ]


  • Cyphax
  • Registratie: November 2000
  • Laatst online: 17:59

Cyphax

Moderator LNX
Als dit nou werkt, dan zou ik dat persoonlijk mooier vinden:
JavaScript:
1
document.getElementById("elm").appendChild(document.createTextNode(http.responseText));

Moet je wel de oude weggooien of de huidige replacen trouwens, anders voegt ie alleen maar toe. :+

Maarre: met DOM-methodes dus ipv innerText/innerHTML en dat soort dingen, is wel het mooist op zich. :)

[ Voor 40% gewijzigd door Cyphax op 22-11-2006 16:33 ]

Saved by the buoyancy of citrus


  • Depress
  • Registratie: Mei 2005
  • Laatst online: 24-11 21:01
Ik heb nu alle drie de methodes geprobeerd maar geen 1 maakt het verschil. Maakt het iets uit dat tiny mce over het textveld heen zit? Zoals ik het nu zie moet dat wel...

  • Cyphax
  • Registratie: November 2000
  • Laatst online: 17:59

Cyphax

Moderator LNX
Depress schreef op woensdag 22 november 2006 @ 16:38:
Ik heb nu alle drie de methodes geprobeerd maar geen 1 maakt het verschil.
Kan je iets meer informatie geven over wat je nou geprobeerd hebt, wat er niet werkte en wat er mis ging? Dan hoeven we geen oplossingen aan te dragen die je al geprobeerd hebt.

Saved by the buoyancy of citrus


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 20:36

crisp

Devver

Pixelated

Persoonlijk zou ik gewoon textareaElement.value = 'foo'; gebruiken ;)

Intentionally left blank


  • Cyphax
  • Registratie: November 2000
  • Laatst online: 17:59

Cyphax

Moderator LNX
crisp schreef op woensdag 22 november 2006 @ 16:53:
Persoonlijk zou ik gewoon textareaElement.value = 'foo'; gebruiken ;)
:o

Moet jij weer makkelijk doen als het ook moeilijk kan. ;)

Saved by the buoyancy of citrus

Pagina: 1