Hallo,
ach so... wie witzig, es sollte genau andersrum sein. XXX im Textfeld sollte mit dem ersetzt werden, was man auswählt, also aaa, bbb usw.
Naja, braucht man ja nur searchString und replacement zu verändern:
<input id="myinput" type="text" value="nischt" size="400">
<div id="textparas">
<p>ein text</p>
<p>mehr text</p>
</div>
<script type="text/javascript">
[code lang=javascript]
myInput = document.getElementById("myinput");
setup = function() {
var textparasDiv = document.getElementById("textparas");
var pL =textparasDiv.getElementsByTagName("p");
for (var i = 0; i < pL.length; i++) {
pL[i].onclick = function() {
myInput.value += this.innerHTML;
}
}
}
setup();
</script>
<select id="ersetzen">
<option>aaa</option>
<option>bbb</option>
<option>ccc</option>
</select>
<script type="text/javascript">
setErsetzenHandler = function() {
var ersetzen = document.getElementById("ersetzen");
var oL =ersetzen.getElementsByTagName("option");
var searchString = "XXX";
var searchFor = new RegExp (searchString,"g");
ersetzen.onchange = function() {
var sI = ersetzen.selectedIndex;
replacement = oL[sI].innerHTML;
alert ("ersetze in: "+ myInput.value + " \nden regulären Ausdruck: " + searchFor + " \ndurch den Text: " + replacement);
replaced = myInput.value.replace(searchFor,replacement);
alert ("ersetzt: "+replaced);
myInput.value = replaced;
}
}
setErsetzenHandler();
</script>
[/code]
Gruß
jobo