webForumDet fria alternativet

Problem med 2 koder

JavaScript

6 svar · 278 visningar · startad av voigtann1

Medlem sedan juni 20019 519 inlägg
Frågan#1

Jag använder en kod med innerHTML för att kunna skriva nyheter. Där i scriptet kan man även lägga in tabeller med denna kod:

function openWin(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

Nu vill jag använda:

function EmptyFolder(surl,sheight,swidth)
{
 var feets = "dialogWidth:" +swidth+"px;dialogHeight:" +sheight+"px;resizable:yes;scroll:no;center:yes;resizeable:no;status:no;help:no"
 window.showModalDialog(surl,null,feets);
}

Problemet blir i kod:

function addTable(rows, cols, border,cellp,cellsp,width,align) {
  var tableString = "<table";
  if (border) tableString += " border=" + border;
  if (cellp) tableString += " cellpadding=" + cellp;
  if (cellsp) tableString += " cellspacing=" + cellsp;
  if (width) tableString += " width=" + width;
  if (align) tableString += " align=" + align;
  tableString += ">";
[b]  var table = window.opener.message.document.createElement(tableString);
  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");
          td.innerText = " ";
          tr.appendChild(td);
        }
        tbody.appendChild(tr);
      }
    table.appendChild(tbody);
  window.opener.message.document.body.appendChild(table);
[/b]
}
function _CloseOnEsc() {
  if (event.keyCode == 27) { window.close(); return; }
}

function Init() {
  document.body.onkeypress = _CloseOnEsc;
}

Vid "window.opener" får jag "crashen"... det lilla jag vet med Javascript kan ju vara att den nya koden för att öppna fönstret är att det inte är ett "riktigt" nytt fönster ändå... frågan är hur man löser så att koden läggs in på orginal sidan...

Medlem sedan sep. 20021 655 inlägg
#2

Testa att ändra till

function addTable(rows, cols, border,cellp,cellsp,width,align) {
  var table = document.createElement(tableString);

  if (border) tableString.border      = border;
  if (cellp)  tableString.cellpadding = cellp;
  if (cellsp) tableString.cellspacing = cellsp;
  if (width)  tableString.width       = width;
  if (align)  tableString.align       =align;

  var tbody = document.createElement("tbody");
    for (var r = 0; r < rows; r++) {
      var tr = document.createElement("tr");
        for (var c = 0; c < cols; c++) {
          var td = document.createElement("td");
          td.appendChild( document.createTextNode(" ") );
          tr.appendChild(td);
        }
        tbody.appendChild(tr);
      }
    table.appendChild(tbody);

  window.opener.message.document.body.appendChild(table);

}
Medlem sedan juni 20019 519 inlägg
#3

Får samma fel.. felmeddlenade 'window.opener.message' är null eller inte ett objekt

Medlem sedan sep. 20021 655 inlägg
#4

Vad är message för något?

Testa min kod, och ändra sista raden till

window.opener.document.body.appendChild(table);
Medlem sedan juni 20019 519 inlägg
#5

message är ID på sidan:

              document.write ('<iframe src="IE_textbox.asp" id="message" width="100%" height="450" FRAMEBORDER="YES"></iframe>')
              frames.message.document.designMode = "On";

så den ska jag inte ändra.. provade ändå och det gick inte det heller..

Medlem sedan sep. 20021 655 inlägg
#6

Dina frames (inklusive iframes) kommer du åt genom window.frames.

Sätt name="message" på iframen, och ändra JavaScriptet till

window.opener.frames['message'].document.body.appendChild(table);

Fast det är möjligt att det blir fel om du håller på att mecka med designmode.

Medlem sedan juni 20019 519 inlägg
#7

Den gamla koden dvs:

function openWin(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

men den nya fungera inte verken min eller den koden dectgap har skrivit..

250 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)