Toon posts:

[JS] Probleem aanspreken frames

Pagina: 1
Acties:

Verwijderd

Topicstarter
Met de code die hieronder staat zou ik willen een frame uit het frameset willen aanspreken via zijn id. Nu zegt deze document.getElementById("MBRFrame") has no properties.

Ik heb al geprobeert met alternatieven zoals document.getElementById("MBRFrame").src = ...
Niks wil werken. Weet er soms iemand waar het probleem zou zitten. Of iemand die een werkend alternatief weet. Ik dank u zeer.

Frameset:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Project Ieper</title>
</head>

<frameset cols="*,750,*" frameborder="no" border="0" framespacing="0">
  <frame src="whitespace.htm" name="LFrame" id="LFrame" title="LFrame" scrolling="no" noresize="noresize">
    <frameset rows="40,156,*" frameborder="no" border="0" framespacing="0">
        <frame src="frameMT.htm" name="MTFrame" id="MTFrame" title="MTFrame" scrolling="no" noresize="noresize">
        <frame src="frameMM.htm" name="MMFrame" id="MMFrame" title="MMFrame" scrolling="no" noresize="noresize">
        <frameset cols="200,550" frameborder="no" border="0" framespacing="0">
            <frame src="frameMBL.htm" name="MBLFrame" id="MBLFrame" title="MBLFrame" scrolling="no" noresize="noresize">
            <frame src="frameMBR.htm" name="MBRFrame" id="MBRFrame" title="MBRFrame" noresize="noresize">
        </frameset>
    </frameset>
  <frame src="whitespace.htm" name="RFrame" id="RFrame" title="RFrame" scrolling="no" noresize="noresize">
</frameset>

<noframes>
    <body></body>
</noframes></html>


Log-in pagina:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Project Ieper</title>
    <link type="text/css" rel="stylesheet" href="opmaak.css" />
    <script type="text/javascript" src="functions.js"></script>
</head>
<body  bgcolor="#EEEEEE">
    <div id="divLogin">
        <span id="spanLedenLogin">leden login ></span>
        <span id="spanLoginFrm">

                <input class="txtLedenLogin" type="text" id="txtUserName" name="txtUserName" value="Gebruiker" onfocus="clearTextField(this);" />
                <input class="txtLedenLogin" type="text" id="txtUserPass" name="txtUserPass" value="Wachtwoord" onfocus="clearTextField(this);" />
                <input class="txtLedenLogin" type="submit" id="btnInloggen" name="btnInloggen" value="LOGIN" onclick="importTeamLeden1('teamleden.xml')" />

        </span>
    </div>
</body>
</html>


Javascript-code:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function controle()
{
    var x = xmlDoc.getElementsByTagName('lid');
        
    for (i=0;i<x.length;i++)
    {


            if (x[i].childNodes[1].nodeType != 1) continue;
            if(x[i].childNodes[1].firstChild.nodeValue == document.getElementById("txtUserName").value)
                {
                if(x[i].childNodes[5].firstChild.nodeValue == document.getElementById("txtUserPass").value)
                    {
                        if (x[i].childNodes[5].nodeType != 1) continue;
                    
                        document.getElementById("MBRFrame").setAttribute("src","members.htm")
                        
                    }
                }
    }
}

[ Voor 24% gewijzigd door crisp op 23-04-2006 17:57 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

JavaScript:
1
top.frames['framenaam'].src = 'members.htm';

maar gangbaarder is om je login gewoon in een form te zetten en eventueel je form een target te geven. Ik snap niet waarom je hier Ajax voor gebruikt - afgezien van het feit dat ik hier een enorm veiligheidslek zie - validatie, zeker voor een login, dient serverside te gebeuren en niet clientside.

offtopic:
sluit je code-tags af met [/code] ipv [ /] - af 1.9.4 is de short-close-tag voor code ook helemaal niet meer toegestaan... ;)


offtopic:
en ik zie meteen een bug in de HTML highlighter - lokaal reeds gefixed :)

[ Voor 65% gewijzigd door crisp op 23-04-2006 18:02 ]

Intentionally left blank