Hvor virker dette ikke? (søg erstat)
Problemet her er at det ikke markere teksten i iView nå man søger. Hvorfor gør den ikke det.Lige lidt kode:
function Find(showdialog){
var display="visible";
if(showdialog==false) display="hidden";
find_dialog.style.visibility=display;
if(showdialog!=false) document.find.findwhat.focus();
}
function FindIt(str, replacestr, newstr){
if(str==""){
alert("Skriv tekst for at søge");
document.find.findwhat.focus();
return;
}
txt = iView.document.body.createTextRange();
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
txt.moveStart("character", 1);
txt.moveEnd("textedit");
}
if(found) {
txt.moveStart("character", -1);
txt.findText(str);
if(replacestr) txt.text=newstr;
txt.select();
txt.scrollIntoView();
n++;
}
else {
if (n > 0) {
window.alert("Strengen blev ikke fundet");
n=0;
}
else
window.alert("\"" + str + "\" blev ikke fundet i dokumentet.");
}
}
<div contentEditable="true" id="iView" name="iView" style="border-style: solid; border-width: 1px; border-color: #000000; background-color: #FFFFFF; padding-left: 3px; padding-right: 3px; padding-top: 3px; padding-bottom: 3px; width: 550px; height: 400px;">
<%= strFileContents %>
</div>
<div id="find_dialog" style="position: absolute; top: 243; left: 138; visibility: hidden; width: 520; height: 141">
<table border="0" width="300" cellspacing="0" cellpadding="3" style="border-style: outset; border-width: 1px">
<tr>
<td bgcolor="#CCCCCC"><font size="2" color="#000000"> <font face="Arial"><b>Find
i dokumentet</b></font></font></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">
<form name="find">
<p>
<b><font face="Arial"size="2">Find: </font></b><input type="text" name="findwhat" size="34" class="textbox_skin"><br>
<input type="checkbox" name="replacetext" onClick="this.form.newtext.disabled=!this.form.replacetext.checked;"value="ON"> <font face="Arial" size="2">Erstat
med:</font> <input type="text" name="newtext" size="20" class="textbox_skin" disabled></p>
<p> <input type="button" value=" Find næste " onClick="FindIt(this.form.findwhat.value, this.form.replacetext.checked, this.form.newtext.value);" name="findtext" class="button_skin"> <input type="button" value=" Cancel " onClick="FindInPage(false);" name="cancelfind" class="button_skin"><br> </p>
</form>
</td>
</tr>
</table>
</div>
vinduet popper op og hvis jeg ikke skriver noget i søg feldtet udføres alert(). Hvad er der galt. :)
