---
title: "ExecCommand skapa tabeller?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/82647-execcommand-skapa-tabeller"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "voigtann1"
published: "2003-07-23T19:48:24.000Z"
updated: "2003-07-25T15:10:14.000Z"
replies: 9
views: 383
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/82647-execcommand-skapa-tabeller"
---

# ExecCommand skapa tabeller?

## #1 — voigtann1, 2003-07-23T19:48Z

Går det att skapa \<table\> och sånt med hjälp av ExecCommand och designMode??

Permalänk: https://www.webforum.nu/p/82647

## #2 — voigtann1, 2003-07-24T08:05Z

```
frames.message.document.execCommand('paste', true, '<table>');
```

Något sånt tror jag ska fungera. Jag skulle vilja ha:
att man öppnar ett nytt fönster där två select boxar samt en submit knapp finns där man kan välja:
Border bredd på tabellen, hur många TR och TD det ska finnas... kan någon göra ett sådant script? är det svårt?

Permalänk: https://www.webforum.nu/p/1117365

## #3 — voigtann1, 2003-07-24T10:02Z

Kan man inte göra någon loop med TR och TD... jag har noll koll på hur javascript fungera med sånt här :e

Permalänk: https://www.webforum.nu/p/1117442

## #4 — Cheguelin, 2003-07-24T11:53Z

voigtann1, du behöver inte blanda in execCommand för det där. Använd document.createElement så funkar det fint. Du kan läsa mer om detta på bl a msdn.

Permalänk: https://www.webforum.nu/p/1117513

## #5 — voigtann1, 2003-07-24T12:43Z

Behöver väll ändå någon funktions kod som "ritar" upp tabellerna?

Permalänk: https://www.webforum.nu/p/1117548

## #6 — Cheguelin, 2003-07-24T14:15Z

Berätta hur du vill att det ska vara så kan jag ge dig en funktion för att rita upp tabellerna.

Permalänk: https://www.webforum.nu/p/1117598

## #7 — voigtann1, 2003-07-24T15:08Z

Jag har en iframe som heter message och som är editable = on

Jag vill ha en popup som öppnas där man kan skriva hur många rader och hur många TD man ska ha tex:

TD \[INPUT\]
TR \[INPUT\]
BORDER \[INPUT\]
\[SUBMIT\]

Om vi har skrivit 5 på TD och 2 på TR och border 0 så ska den skriva:
\<table border=0\>
\<tr\>
\<td\>Mellanslag\</td\>
\<td\>Mellanslag\</td\>
\<td\>Mellanslag\</td\>
\<td\>Mellanslag\</td\>
\<td\>Mellanslag\</td\>
\</tr\>
\<tr\>
\<td\>Mellanslag\</td\>
\<td\>Mellanslag\</td\>
\<td\>Mellanslag\</td\>
\<td\>Mellanslag\</td\>
\<td\>Mellanslag\</td\>
\</tr\>
\</table\>

Permalänk: https://www.webforum.nu/p/1117608

## #8 — Cheguelin, 2003-07-24T15:11Z

Aha, jag har inte läst så noggrant. Du gör typ en WYSIWYG-editor där användaren ska få lägga in en table?

Permalänk: https://www.webforum.nu/p/1117610

## #9 — voigtann1, 2003-07-24T15:11Z

ja något sånt...

Permalänk: https://www.webforum.nu/p/1117611

## #10 — Cheguelin, 2003-07-25T15:10Z

Nu är jag klar med det.

Sidan med WYSIWYG-editorn (wysiwyg.html):

```
<html>
 <head>
  <title>
   WYSIWYG
  </title>
  <script type="text/javascript">
	window.onload = function() {
		message.document.designMode = "On";
	}
    function openPopup(url, sName, height, width) {
        var leftSubtrahend = 5;
        var topSubtrahend = 15;
        var left = (window.screen.width - width) / 2 - leftSubtrahend;
        var top = (window.screen.height - height) / 2 - topSubtrahend;
        window.open(url, sName, "channelmode=no, directories=no," +
                "fullscreen=no, height=" + height + ", left=" + left +
                ", menubar=no, resizable=no, scrollbars=no, status=no," +
                "titlebar=no, toolbar=no, top=" + top + ", width=" + width);
    }
  </script>
 </head>
 <body>
  <p>
   <iframe id="message">
   </iframe>
  </p>
  <p>
   <a href="tableForm.html"
      onclick='openPopup("tableForm.html", "tableForm", 300, 200); return false;'>
    Lägg till tabell
  </a>
  </p>
 </body>
</html>
```

Sidan med formuläret (tableForm.html):

```
<html>
 <head>
  <title>
   Add table
  </title>
  <script type="text/javascript">
	function addTable(rows, cols, border) {
		var table = window.opener.message.document.createElement(
				"<table border=" + border + ">");
		var tbody = window.opener.message.document.createElement("tbody");
		
		for (var r = 0; r < rows; r++) {
			var tr = window.opener.message.document.createElement("tr");
			for (var c = 0; c < cols; c++) {
				var td = window.opener.message.document.createElement("td");
				tr.appendChild(td);
			}
			tbody.appendChild(tr);
		}
		table.appendChild(tbody);
		window.opener.message.document.body.appendChild(table);
	}
  </script>
 </head>
 <body>
  <form onsubmit="addTable(this.rows.value, this.cols.value,
  		this.border.value); window.close(); return false;">
   <p>
    Kantstorlek:<br />
    <input name="border" type="text" />
   </p>
   <p>
    Rader:<br />
    <input name="rows" type="text" />
   </p>
   <p>
    Kolumner:<br />
    <input name="cols" type="text" />
   </p>
   <p>
    <input type="submit"
           value="Lägg till!" />
   </p>
  </form>
 </body>
</html>
```

Använd er gärna utav detta, förutsatt att det endast är för privat bruk. Vill ni använda er av det för kommersiellt bruk så förväntar jag mig en ersättning.

Lycka till!

Permalänk: https://www.webforum.nu/p/1121093

---

Tråden på webben: https://www.webforum.nu/amne/javascript/82647-execcommand-skapa-tabeller
