javascript button afbeelding invoegen in IE
Ik ben nieuw hier en heb direct een vraag aan jullie Glimlach/Smile
Ik ben bezig met het ontwikkelen van een CMS (proberen kan ik beter zeggen) en nu loop ik tegen het volgende probleem aan.
De beheerder van het CMS kan teksten schrijven en vervolgens dmv een 'bold' link of 'cursief' link de tekst aanpassen. Nu heb ik ook een linkje voor het invoegen van een afbeelding. Nu werkt deze knop prima in FireFox maar helaas doet hij het niet in Internet Explorer. Iemand een idee wat ik fout doe?
De code :
Het stukje JS:
<script language="JavaScript" type="text/javascript">
var thisForm;
function mozWrap(txtarea, lft, rgt) {
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
if (selEnd==1 || selEnd==2) selEnd=selLength;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + lft + s2 + rgt + s3;
}
function IEWrap(lft, rgt) {
strSelection = document.selection.createRange().text;
if (strSelection!="") {
document.selection.createRange().text = lft + strSelection + rgt;
}
}
function wrapSelection(txtarea, lft, rgt) {
if (document.all) {IEWrap(lft, rgt);}
else if (document.getElementById) {mozWrap(txtarea, lft, rgt);}
}
function wrapSelectionWithLink(txtarea) {
var my_link = prompt("Enter URL:","http://");
if (my_link != null) {
lft="<a href=\"" + my_link + "\">";
rgt="</a>";
wrapSelection(txtarea, lft, rgt);
}
return;
}
function wrapSelectionWithPic(txtarea) {
var my_pic = prompt("Enter image name:","");
if (my_pic != null) {
lft="<img src=\"http://www.freevoice.nl/fvbeheer/pages/nieuwsfotos/" + my_pic + "\">";
rgt="<br><br>";
wrapSelection(txtarea, lft, rgt);
}
return;
}
document.onkeypress = function (e) {
if (document.all) {
key=event.keyCode; txtarea=thisForm.T;
if (key == 1) wrapSelectionWithLink(txtarea);
if (key == 2) wrapSelection(txtarea,'<b>','</b>');
if (key == 20) wrapSelection(txtarea,'<i>','</i>');
}
else if (document.getElementById) {
ctrl=e.ctrlKey; shft=e.shiftKey; chr=e.charCode;
if (ctrl) if (shft) if (chr==65) wrapSelectionWithLink(thisForm.T);
if (ctrl) if (shft) if (chr==66) wrapSelection(thisForm.T,'<b>','</b>');
if (ctrl) if (shft) if (chr==84) wrapSelection(thisForm.T,'<i>','</i>');
}
return true;
}
function mouseover(el) {
el.className = "raise";
}
function mouseout(el) {
el.className = "buttons";
}
function mousedown(el) {
el.className = "press";
}
function mouseup(el) {
el.className = "raise";
}
</script>
en vervolgens het aanroepen van de funtie:
echo "<a href=\"javascript:wrapSelectionWithPic(thisForm.msg,'<i>','</i>');\" class=\"foto\">[foto]</a> ";
In FF werkt het dus maar in IE niet. vreemd he?
Als iemand een idee heeft hoor ik het graag.
groetjes
IE werkt met name=''
Waarschijnlijk gebruik je bij het toekennen van namen aan objecten alleen name of id
groetjes
beide overal gelijk zetten :)
name gelijk maken aan de id (in html) ?