Heeey

Weet iemand hoe ik met javascript text in een textbox toe kan voegen?

Het gaat namelijk om een 'soort van' gastenboek, en als er dan op de bold image wordt gedrukt, moet er [ignore][b][/ignore] in de pagina komen.
Je moet inderdaad een replace function hebben. En deze is er ook :) .

Vaag voorbeeld van internet:
myString = new String("Go to DevGuru today!")
rExp = /devguru/gi;
newString = new String ("http://www.devguru.com")
results = myString.replace(rExp, newString.link("http://www.devguru.com"))


in jou geval wordt 't DENK ik (ben niet zo super met javascript)

var rExp = '/\[b\](.*)\[\/b\]/gi';
veld.value = veld.value.replace(rExp, schrijf);


Iets in deze richting is 't. Met google kom je btw een heel eind denk ik want ik kreeg een hele hoop hits op javascript+replace+function of javascript+replace
ik heb nu dit, maar dit vervangt niks :-s

Javascript console van FF geeft ook niks:

<?
function styles(style)
{
var selectedText = getSelectedText();
var veld = document.mail.ber;

if(selectedText != '')
{
var vervang = /selectedText/;
var schrijf = '[' + style + ']' + selectedText + '[/' + style + ']';
veld.value.replace(vervang, schrijf);
veld.focus();
}
else
{
var schrijf = '[' + style + '] [/' + style + ']';
veld.value += schrijf;
veld.focus();
}
}
?>
Probeer zo eens:

// JavaScript Document

function styles(style)
{
    var selectedText = getSelectedText();
    var veld = document.mail.ber;
    
    if(selectedText != '')
    {
		var regex = new RegExp ('\/' + selectedText + '\/', 'gi') ;
        var schrijf = '[' + style + ']' + selectedText + '[/' + style + ']';
		veld.value.replace(regex, schrijf);
        veld.focus();
    }
    else
    {
        var schrijf = '[' + style + '] [/' + style + ']';
        veld.value += schrijf;
        veld.focus();
    }
}


edit: typo
Helaas jan, er wordt wederom niks vervangen.

Het enige wat er gebeurd is dat de text 1 maal 'knipperd'.

Maar er komt geen [ignore][/ignore] voor te staan en geen [ignore][/ignore] erachter
Die methode van Jan is idd beter maar ik denk dat je em nog een beetje aan moet passen:

edit: @Jan. In regex moet je die eerste slashes niet escapen toch? Dat doe je bij preg_replace() etc ook niet.

// JavaScript Document

function styles(style)
{
    var selectedText = getSelectedText();
    var veld = document.mail.ber;
    
    if(selectedText != '')
    {
        var regex = new RegExp ('/' + selectedText + '/', 'gi') ;
        var schrijf = '[' + style + ']' + selectedText + '[/' + style + ']';
        veld.value = veld.value.replace(regex, schrijf);
        veld.focus();
    }
    else
    {
        var schrijf = '[' + style + '] [/' + style + ']';
        veld.value += schrijf;
        veld.focus();
    }
}
Zoals eerdere gezegd, gebruik de methode die Arjan in zijn nieuwssysteem heeft gestopt.
Javascript

Werkt het perfect!
Heb het zelf nu ook al een poos in gebruik.

Voorbeeld:
Arjan's nieuwssysteem
Willen-Jan,

Het is veel leuker dit zelf werkend te krijgen ;-)

Verder:

Als ik zeg: veld.value -= selectedText; dan doet hij het bijna goed, maar dan komt er op de plek van de geselecteerde tekst 'NaN' te staan...
Iemand een idee waarom die replace niet werkt?

Of heeft iemand een oplossing dat veld.value -= selectedText; niet veranderd in 'NaN' maar gewoon leeg blijft...
Werkte mijn manier niet? Zo nee wat deed ie dan wel / niet?
hetzelfde als die van jan,

De tekst knippert 1x, en dat was het...

Reageren