pasteHTML: html indsættes udenfor det tilladte område
Jeg har et problem med pasteHTML, der indsætter html udenfor det tilladte område (en div i dette tilfælde). Derudover er det et problem, hvis man ikke har placeret cursoren i div'en. Så kommer der en fejlmelding om at "fokus er ikke sat".I en fil har jeg følgende:
<html>
<head>
<script language="javascript">
function insertTable(){
if (fokus){
window.open("c_table.php","","toolbar=no,scrollbars=yes,width=300,height=300");
} else {
alert('Du skal markere et sted i teksten, hvor du vil indsætte den nye tabel.');
}
}
</script>
</head>
<body>
<span style="cursor:hand;" onmousedown="insertTable();">Indsæt tabel</span>
<br /><br />
<div style="width:200; height:150; border:1px solid black" id="content" onfocus="fokus = true;" onblur="fokus = false;" contentEditable>Dette er en test</div>
</body>
Og i en anden har jeg:
<html>
<head>
<script language="javascript">
function getTable()
{
var rows = document.create.rows.value;
var cols = document.create.cols.value;
var start = 0;
var html = '';
while (rows > start)
{
var cells = cols;
str = '';
while (cells > 0)
{
str += "<td></td>";
cells--;
}
html += "<tr>" + str + "</tr>";
start++;
}
html = "<table border=\"1\">" + html + "</table>";
r = window.opener.document.selection.createRange();
r.pasteHTML(html);
self.close();
}
</script>
</head>
<body>
<form name="create" method="post" action="c_table.php">
Antal rows: <input type="text" name="rows" /><br />
Antal cols: <input type="text" name="cols" /><br />
<input onClick="getTable();" type="button" name="submit" value="Lav tabel" /><br />
</form>
</body>
</html>
Scriptet indsætter en tabel. Men nogle gange går det galt, og tabellen indsættes i toppen af siden. Hvad kan jeg gøre?