Avatar billede barnes Nybegynder
08. november 2001 - 13:44 Der er 14 kommentarer og
1 løsning

Kan det her overhovedet lade sig gøre

Kan det her lade sig gøre:
Feltet frames.message.document.body.innerText skulle gerne indeholde tabellen der laves i funktion TableDesign().
Jeg har bøvlet meget med det, uden at få det til at fungerer.

Håber nogen af jer har mod på opgaven.
Tabellen skal senere kunne udvides dynamisk.

<TABLE ID=\"oTable\" BORDER BGCOLOR=\"lightslategray\">
<TBODY ID=\"oTBody0\"></TBODY>
<TBODY ID=\"oTBody1\"></TBODY>
</TABLE>

<SCRIPT LANGUAGE=\"JScript\">
function BuildTable(){
  frames.message.document.body.innerText = TableDesign()
}

function TableDesign()
{
var oTHead = oTable.createTHead();
var oTFoot = oTable.createTFoot();
var oCaption = oTable.createCaption();
var oRow, oCell;
var i, j;

// TestData.
var heading = new Array;

heading[0] = \"Stock symbol\";
heading[1] = \"High\";
heading[2] = \"Low\";
heading[3] = \"Close\";

var stock = new Array;

stock[\"0,0\"] = \"ABCD\";
stock[\"0,1\"] = \"88.625\";
stock[\"0,2\"] = \"85.50\";
stock[\"0,3\"] = \"85.81\";

stock[\"1,0\"] = \"EFGH\";
stock[\"1,1\"] = \"102.75\";
stock[\"1,2\"] = \"97.50\";
stock[\"1,3\"] = \"100.063\";

stock[\"2,0\"] = \"IJKL\";
stock[\"2,1\"] = \"56.125\";
stock[\"2,2\"] = \"54.50\";
stock[\"2,3\"] = \"55.688\";

stock[\"3,0\"] = \"MNOP\";
stock[\"3,1\"] = \"71.75\";
stock[\"3,2\"] = \"69.00\";
stock[\"3,3\"] = \"69.00\";

// Rækker
oRow = oTHead.insertRow();
oTHead.bgColor = \"lightskyblue\";

// Celler.
for (i=0; i<4; i++)
{
  oCell = oRow.insertCell();
  oCell.align = \"center\";
  oCell.style.fontWeight = \"bold\";
  oCell.innerText = heading[i];
}

// Body
for (i=0; i<2; i++)
{
  oRow = oTBody0.insertRow();
  for (j=0; j<4; j++)
  {
    oCell = oRow.insertCell();
    oCell.innerText = stock[i + \",\" + j];
  }
}

// Body2.
for (i=2; i<4; i++)
{
  oRow = oTBody1.insertRow();
  for (j=0; j<4; j++)
  {
    oCell = oRow.insertCell();
    oCell.innerText = stock[i + \",\" + j];
  }
}


}
</SCRIPT>
Avatar billede nute Nybegynder
08. november 2001 - 13:47 #1
hmmm...er frames.messages henvisning til en frame ?
Avatar billede fri-hash Nybegynder
08. november 2001 - 13:48 #2
Avatar billede nikolajdu Nybegynder
08. november 2001 - 14:30 #3
Enten hedder det:

1. parent.frames[1].document... // hvor frames[0] er ørste frame[1] næste osv.
2. parent.messages.document...

/Nikolaj
Avatar billede the-clint Nybegynder
08. november 2001 - 14:50 #4
Jeg er ked af at det ikke fremgår hvad funktionerne egentligt gør.
Funktionen tabledesign laver en tabel som hvis man kalder den med TableDesign() ser såden ud: http://212.242.79.154/Netsite2001/henrik/tabtest.asp
frames.message.document.body.innerText er en IFRAME.
Meningen er at min tabel skal vises i min frame, og ikke som nu hvor den bliver dannet uden for framen og hvor der i framen  står undefined
Håber det hjalp lidt.

Avatar billede nute Nybegynder
08. november 2001 - 14:53 #5
ehhhh...the-clint == barnes ?? hvorfor 2 profiler ?????
Avatar billede nikolajdu Nybegynder
08. november 2001 - 14:56 #6
host host....
Avatar billede nute Nybegynder
08. november 2001 - 15:01 #7
tja....jeg har laget noe hurtig. Dette er mitt frameset:

<html>
<frameset  rows=\"50%,*\" cols=\"50%,*\">
        <frame name=\"left\" src=\"left.htm\" marginwidth=\"10\" marginheight=\"10\" scrolling=\"auto\" frameborder=\"1\">
        <frame name=\"right\" src=\"right.htm\" marginwidth=\"10\" marginheight=\"10\" scrolling=\"auto\" frameborder=\"1\">
</frameset>
</html>

Dette er min left.htm:

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">

<html>
<head>
    <title>Untitled</title>
</head>

<body>
<SCRIPT LANGUAGE=\"JScript\">
var oTable = top.frames[\'right\'].document.all[\'oTable\'];
function BuildTable(){
  top.frames[\'right\'].document.body.innerHTML = TableDesign()
}
function TableDesign(){
var oTHead = oTable.createTHead();
var oTFoot = oTable.createTFoot();
var oCaption = oTable.createCaption();
var oRow, oCell;
var i, j;

// TestData.
var heading = new Array;

heading[0] = \"Stock symbol\";
heading[1] = \"High\";
heading[2] = \"Low\";
heading[3] = \"Close\";

var stock = new Array;

stock[\"0,0\"] = \"ABCD\";
stock[\"0,1\"] = \"88.625\";
stock[\"0,2\"] = \"85.50\";
stock[\"0,3\"] = \"85.81\";

stock[\"1,0\"] = \"EFGH\";
stock[\"1,1\"] = \"102.75\";
stock[\"1,2\"] = \"97.50\";
stock[\"1,3\"] = \"100.063\";

stock[\"2,0\"] = \"IJKL\";
stock[\"2,1\"] = \"56.125\";
stock[\"2,2\"] = \"54.50\";
stock[\"2,3\"] = \"55.688\";

stock[\"3,0\"] = \"MNOP\";
stock[\"3,1\"] = \"71.75\";
stock[\"3,2\"] = \"69.00\";
stock[\"3,3\"] = \"69.00\";

// Rækker
oRow = oTHead.insertRow();
oTHead.bgColor = \"lightskyblue\";

// Celler.
for (i=0; i<4; i++)
{
  oCell = oRow.insertCell();
  oCell.align = \"center\";
  oCell.style.fontWeight = \"bold\";
  oCell.innerText = heading[i];
}

// Body
for (i=0; i<2; i++)
{
  oRow = oTBody0.insertRow();
  for (j=0; j<4; j++)
  {
    oCell = oRow.insertCell();
    oCell.innerText = stock[i + \",\" + j];
  }
}

// Body2.
for (i=2; i<4; i++)
{
  oRow = oTBody1.insertRow();
  for (j=0; j<4; j++)
  {
    oCell = oRow.insertCell();
    oCell.innerText = stock[i + \",\" + j];
  }
}


}
</SCRIPT>
<a href=\"java script:void( BuildTable() );\">Klikk</a>
</body>
</html>

og dette er min right.htm:

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">

<html>
<head>
    <title>Untitled</title>
</head>

<body>
<TABLE ID=\"oTable\" BORDER BGCOLOR=\"lightslategray\">
<TBODY ID=\"oTBody0\"></TBODY>
<TBODY ID=\"oTBody1\"></TBODY>
</TABLE>
</body>
</html>

/nute
Avatar billede barnes Nybegynder
08. november 2001 - 15:07 #8
Ja, indrømmet det ser lidt mærkeligt ud. Vi er to mand på skolen der arbejder på det her og jeg kom lige til at svare fra min makkers maskine, beklager.
Avatar billede barnes Nybegynder
09. november 2001 - 11:22 #9
Jeg kan ikke lige få dit eksempel til at virke. Istedet har jeg lavet et eksempel der forhåbentligt viser mere præcist hvad jeg mangler.
prøv at se her:

http://212.242.79.154/Netsite2001/henrik/tab3.asp

Problemmet er at tabellen bliver lavet ovenpå min IFRAME istedet for i min IFRAME, når man trykker på klik.
Jeg har med vilje ikke kopieret koden ind her, da den fylder helt vildt. Tag en view source istedet.
Avatar billede nute Nybegynder
09. november 2001 - 11:45 #10
nåja....opprett en side som du kaller \'blank.htm\' og legg denne kode inn i dette dokument:

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<TABLE ID=\"oTable\" BORDER BGCOLOR=\"lightslategray\">
<TBODY ID=\"oTBody0\"></TBODY>
<TBODY ID=\"oTBody1\"></TBODY>
</TABLE>
</body>
</html>

deretter legger du denne kode inn i \'tab3.asp\':

<html>

<head><title>New Webpage</title></head>
<body topmargin=\"0\" bgcolor=\"#FFFFFF\"
<FORM CLASS=\"ASPForums\" METHOD=\"post\" NAME=\"ASPFMessage\">

                           

<TABLE CLASS=\"ASPForums\" BORDER=\"0\" WIDTH=\"400\" CELLPADDING=\"0\" CELLSPACING=\"0\" height=\"111\" bgcolor=\"#FFFFFF\">
    <TR CLASS=\"ASPForums\">
        <TD CLASS=\"ASPForums\" COLSPAN=\"2\" width=\"530\" height=\"123\" bordercolor=\"#FFFFFF\">
            <CLASS=\"ASPForums\" />
                <SPAN CLASS=\"ASPForumsFormBody\">
                    <SCRIPT LANGUAGE=\"JavaScript\">
                    <!--
                        function BuildTable(){
                          TableDesign();
                        }

                        function TableDesign(){
                            var oTable = document.frames[\'message\'].document.getElementById(\'oTable\');
                            var oTBody0 = document.frames[\'message\'].document.getElementById(\'oTBody0\');
                            var oTBody1 = document.frames[\'message\'].document.getElementById(\'oTBody1\');
                           
                            var oTHead = oTable.createTHead();
                            var oTFoot = oTable.createTFoot();
                            var oCaption = oTable.createCaption();
                            var oRow, oCell;
                            var i, j;

                            // Declare stock data that would normally be retrieved from a stock Web site.
                            var heading = new Array;

                            heading[0] = \"Stock symbol\";
                            heading[1] = \"High\";
                            heading[2] = \"Low\";
                            heading[3] = \"Close\";

                            var stock = new Array;

                            stock[\"0,0\"] = \"ABCD\";
                            stock[\"0,1\"] = \"88.625\";
                            stock[\"0,2\"] = \"85.50\";
                            stock[\"0,3\"] = \"85.81\";

                            stock[\"1,0\"] = \"EFGH\";
                            stock[\"1,1\"] = \"102.75\";
                            stock[\"1,2\"] = \"97.50\";
                            stock[\"1,3\"] = \"100.063\";

                            stock[\"2,0\"] = \"IJKL\";
                            stock[\"2,1\"] = \"56.125\";
                            stock[\"2,2\"] = \"54.50\";
                            stock[\"2,3\"] = \"55.688\";

                            stock[\"3,0\"] = \"MNOP\";
                            stock[\"3,1\"] = \"71.75\";
                            stock[\"3,2\"] = \"69.00\";
                            stock[\"3,3\"] = \"69.00\";

                            // Insert a row into the header.
                            oRow = oTHead.insertRow();
                            oTHead.bgColor = \"lightskyblue\";

                            // Insert cells into the header row.
                            for (i=0; i<4; i++){
                              oCell = oRow.insertCell();
                              oCell.align = \"center\";
                              oCell.style.fontWeight = \"bold\";
                              oCell.innerText = heading[i];
                            }

                            // Insert rows and cells into the first body.
                            for (i=0; i<2; i++){
                              oRow = oTBody0.insertRow();
                              for (j=0; j<4; j++){
                                oCell = oRow.insertCell();
                                  oCell.innerText = stock[i + \",\" + j];
                              }
                          }

                        // Set the background color of the first body.
                        oTBody0.bgColor = \"lemonchiffon\";

                        // Insert rows and cells into the second body.
                        for (i=2; i<4; i++){
                          oRow = oTBody1.insertRow();
                          for (j=0; j<4; j++){
                        oCell = oRow.insertCell();
                          oCell.innerText = stock[i + \",\" + j];
                          }
                        }


                       
                        }
                    // -->
                    </SCRIPT>
                   
                        <a href=\"java script:void( BuildTable() );\">Klik</a>
                        <IFRAME NAME=\"message\" CLASS=\"ASPForums\" ID=\"message\" WIDTH=\"534\" HEIGHT=\"200\" src=\"blank.htm\"></IFRAME>
                    </span>
                </TABLE>
</form>
</body>


/nute
Avatar billede barnes Nybegynder
09. november 2001 - 12:47 #11
Super det virker. MEN der er jo altid et men.
Det er jo taget ud af en størrere sammenhæng og DER kan jeg ikke få det til at virke.

På adressen:
http://212.242.79.154/Netsite2001/henrik/tab4.asp

kan du se en view source af den store sammenhæng. Jeg håber du kan se hvor fejlen er...

Avatar billede nute Nybegynder
09. november 2001 - 13:04 #12
jammen det er jo fordi du i din init() funksjon fjerner den tabell du senere prøver å referere til !! Bare for å eksemplifisere dette, så kan du skrive din init() om til:

function init (){   
  return;
}

Du trenger overhodet ikke denne funksjon. Alternativt kan du skrive den om til:

function init (){
  var body = \"<TABLE ID=\\\"oTable\\\" BORDER BGCOLOR=\\lightslategray\\\"><TBODY ID=\\\"oTBody0\\\" name=\\\"oTBody0\\\"></TBODY>\";
    body += \"<TBODY ID=\\\"oTBody1\\\"></TBODY></TABLE>\";
    frames.message.document.body.innerHTML=body;
    return;
}

/nute
Avatar billede barnes Nybegynder
09. november 2001 - 13:15 #13
Super
Tak for hjælpen Nute
Avatar billede nute Nybegynder
09. november 2001 - 13:17 #14
anytime :)
Avatar billede nute Nybegynder
09. november 2001 - 13:24 #15
lukker du så spørsmålet ? ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester