Ik post deze vraag maar even in de koffiehoek, omdat ik geen idee heb waar het anders zou moeten/ kunnen.
Ik heb een pagina gemaakt, waarbij ik in een tekstfield tekst kan typen, en daaronder komt dan een voorbeeld te staan van de tekst die je hebt getypt (later wordt dit nog iets anders, maar zo kan ik even zien hoe het werkt)
Nu zit ik met het volgende probleem:
Ik wil als ik bijvoorbeeld :) type, dat die een plaatje laat zien genaamd "smile.gif". Nu wil het geval dat alleen de 1e keer dat :) voorkomt in de tekst, wordt vervangen, maar de daaropvolgende niet. is er niet een replace_all functie voor javascript? (kan het in ieder geval niet vinden met google of op w3schools)
Hiervoor gebruik ik de volgende code:
function WriteTekst(){
var doel = document.getElementById("testdiv");
var bron = document.getElementById("testfield").value;
bron = bron.replace(":)","<img src=\"blij.gif\"/>");
doel.innerHTML = bron;
//print bron;
}
Nu wil het geval dat deze functie niet werkt in IE (dat kan ik denk ik zelf nog wel oplossen) maar het eigenlijke probleem en mijn eigenlijke vraag is of het ook mogelijk is dat alle keren dat er :) staat, ook daadwerkelijk de smiley weer wordt gegeven.
(uit eindelijk wordt het zoiets als de "preview" functie bij hyves, waarvan ik aanneem dat jullie die kennen)
PS. Ik weet dat het geen PHP vraag is, maar er zitten ook genoeg JavaScripters hier, vandaar.
[edit]
Oké, volgende keer zet ik een JS vraag in WebDesign neer.
Overigens werkt het nu plotseling wel in IE, dus daarvoor graag geen oplossingen meer aandragen :)
[/edit]
Overigens heb ik ook uitgevonden waarom ik aanvankelijk dacht dat het niet werkte in IE. Want in de IE tab, werkt het niet, maar gewoon in IE werkt het prima.
En bij Hyves gaat het een beetje anders blijkbaar, want ik kan daar die hele previewbox niet terug zien in de bron
In JavaScript, a regular expression is written in the form of /pattern/modifiers where "pattern" is the regular expression itself, and "modifiers" are a series of characters indicating various options. The "modifiers" part is optional. This syntax is borrowed from Perl. JavaScript supports the following modifiers, a subset of those supported by Perl:
/g enables "global" matching. When using the replace() method, specify this modifier to replace all matches, rather than only the first one.
function WriteTekst(){
var doel = document.getElementById("testdiv");
var bron = document.getElementById("testfield").value;
bron = bron.replace(/:)/g,"<img src=\"blij.gif\"/>");
doel.innerHTML = bron;
}
Ik gebruikt de functie nu zo, maar hij doet het niet. Of ik snap de bedoeling/ werking van die /g verkeerd, of er is wat anders.
Overigens heb ik ook uitgevonden waarom ik aanvankelijk dacht dat het niet werkte in IE. Want in de IE tab, werkt het niet, maar gewoon in IE werkt het prima.
En bij Hyves gaat het een beetje anders blijkbaar, want ik kan daar die hele previewbox niet terug zien in de bron
IE-tab geeft IE7 dacht ik en misschien werk je zelf nog met IE 6 of zo.
In de IE-tab werkt het helemaal niet bij me en in IE7 gebeurt hetzelfde als in FF
[edit]
Is het niet mogelijk een plaatje ook via deze manier in een textarea te zetten?
[/edit]
Overigens heb ik ook uitgevonden waarom ik aanvankelijk dacht dat het niet werkte in IE. Want in de IE tab, werkt het niet, maar gewoon in IE werkt het prima.
En bij Hyves gaat het een beetje anders blijkbaar, want ik kan daar die hele previewbox niet terug zien in de bron
IE-tab geeft IE7 dacht ik en misschien werk je zelf nog met IE 6 of zo.
In de IE-tab werkt het helemaal niet bij me en in IE7 gebeurt hetzelfde als in FF
[edit]
Is het niet mogelijk een plaatje ook via deze manier in een textarea te zetten?
[/edit][/quote]
IE tab geeft de browser die je zelf gebruikt (kijk maar in de opties, daar kan je de locatie van IE aangeven, en die staat gewoon op je computer)
In FF en IE werkt het beiden prima, op het replace-all gedeelte na.
function WriteTekst(){
var doel = document.getElementById("testdiv");
var bron = document.getElementById("testfield").value;
bron = bron.replace(/:)/g,"<img src=\"blij.gif\"/>");
doel.innerHTML = bron;
}
moet dit zijn:
function WriteTekst(){
var doel = document.getElementById("testdiv");
var bron = document.getElementById("testfield").value;
bron = bron.replace(":)","<img src=\"blij.gif\"/>");
doel.innerHTML = bron;
}