problem array en javascript

sissa_87

New Member
bonsoir à tous
j'ai un problem dans un tableau array en java script, voila dabord le code:
<!--
var Tree = new Array;
// nodeId | parentNodeId | nodeName | nodeUrl
Tree[0] = "1|0|ISR Product Development Process pdp|desc_rép.html";
Tree[1] = "2|1|Project Development Directory pddxxx|#";
Tree[2] = "3|1|Process Improvement Directory|#";

ce code est relatif a un autre code "tree.js"qui contien toutes les fonction qui permettent de créer une arborescence(répértoire,sous répertoire et fichier) ,la page desc_rép.html elle va s'afficher lorsque je vais cliker sur le répértoir destiner , le probleme c'est que moi ma page html et découper en frames , l'arborescence s'affiche dans le frame gauche et les pages s'affiche au milieu,
alors avec ce code qand je click sur le repertoir il m'affiche la page dans la page de l'arborescnece( frame gauche) moi je veux qu'il me l'affiche au milieu j'ai essaié le "target" et l'instruction "parent.frames["mainFrame"].window.location=nom_page1;"==>celle ci pour les menu en javascript avec frames pour qu'il nous affiche les page au milieu
alor si vous pouvez bien m'aider a trouver l'instruction qui va me permetre d'afficher la page dans le frame au milieu qand je clik sur le repertoir
merci d'avance

voila le tree.js :
/**************************************************************************
Copyright (c) 2001 Geir Landrö (drop@destroydrop.com)
JavaScript Tree - www.destroydrop.com/hugi/javascript/tree/
Version 0.96

This script can be used freely as long as all copyright messages are
intact.
**************************************************************************/

// Arrays for nodes and icons
var nodes = new Array();
var openNodes = new Array();
var icons = new Array(6);

// Loads all icons that are used in the tree
function preloadIcons() {
icons[0] = new Image();
icons[0].src = "img/plus.gif";
icons[1] = new Image();
icons[1].src = "img/plusbottom.gif";
icons[2] = new Image();
icons[2].src = "img/minus.gif";
icons[3] = new Image();
icons[3].src = "img/minusbottom.gif";
icons[4] = new Image();
icons[4].src = "img/folder.gif";
icons[5] = new Image();
icons[5].src = "img/folderopen.gif";
}
function charger(nom_page1) {
parent.frames["mainFrame"].window.location=nom_page1;
}
// Create the tree
function createTree(arrName, startNode, openNode) {
nodes = arrName;
if (nodes.length > 0) {
preloadIcons();
if (startNode == null) startNode = 0;
if (openNode != 0 || openNode != null) setOpenNodes(openNode);

if (startNode !=0) {
var nodeValues = nodes[getArrayId(startNode)].split("|");
document.write("<a target='mainFrame' href=\"" + nodeValues[3] + "\" onmouseover=\"window.status='" + nodeValues[2] + "';return true;\" onmouseout=\"window.status=' ';return true;\"><img src=\"img/folderopen.gif\" align=\"absbottom\" alt=\"\" />" + nodeValues[2] + "</a>");
} else document.write("<h5><img src=\"img/base.gif\" align=\"absbottom\" alt=\"\" />Intranet Gestion Documentation de Projet</h5> ");

var recursedNodes = new Array();
addNode(startNode, recursedNodes);
}
}
// Returns the position of a node in the array
function getArrayId(node) {
for (i=0; i<nodes.length; i++) {
var nodeValues = nodes.split("|");
if (nodeValues[0]==node) return i;
}
}
// Puts in array nodes that will be open
function setOpenNodes(openNode) {
for (i=0; i<nodes.length; i++) {
var nodeValues = nodes.split("|");
if (nodeValues[0]==openNode) {
openNodes.push(nodeValues[0]);
setOpenNodes(nodeValues[1]);
}
}
}
// Checks if a node is open
function isNodeOpen(node) {
for (i=0; i<openNodes.length; i++)
if (openNodes==node) return true;
return false;
}
// Checks if a node has any children
function hasChildNode(parentNode) {
for (i=0; i< nodes.length; i++) {
var nodeValues = nodes.split("|");
if (nodeValues[1] == parentNode) return true;
}
return false;
}
// Checks if a node is the last sibling
function lastSibling (node, parentNode) {
var lastChild = 0;
for (i=0; i< nodes.length; i++) {
var nodeValues = nodes.split("|");
if (nodeValues[1] == parentNode)
lastChild = nodeValues[0];
}
if (lastChild==node) return true;
return false;
}
// Adds a new node in the tree
function addNode(parentNode, recursedNodes) {
for (var i = 0; i < nodes.length; i++) {

var nodeValues = nodes.split("|");
if (nodeValues[1] == parentNode) {

var ls = lastSibling(nodeValues[0], nodeValues[1]);
var hcn = hasChildNode(nodeValues[0]);
var ino = isNodeOpen(nodeValues[0]);

// Write out line & empty icons
for (g=0; g<recursedNodes.length; g++) {
if (recursedNodes[g] == 1) document.write("<img src=\"img/line.gif\" align=\"absbottom\" alt=\"\" />");
else document.write("<img src=\"img/empty.gif\" align=\"absbottom\" alt=\"\" />");
}

// put in array line & empty icons
if (ls) recursedNodes.push(0);
else recursedNodes.push(1);

// Write out join icons
if (hcn) {
if (ls) {
document.write("<a href=\"javascript: oc(" + nodeValues[0] + ", 1);\"><img id=\"join" + nodeValues[0] + "\" src=\"img/");
if (ino) document.write("minus");
else document.write("plus");
document.write("bottom.gif\" align=\"absbottom\" alt=\"Open/Close node\" /></a>");
} else {
document.write("<a href=\"javascript: oc(" + nodeValues[0] + ", 0);\"><img id=\"join" + nodeValues[0] + "\" src=\"img/");
if (ino) document.write("minus");
else document.write("plus");
document.write(".gif\" align=\"absbottom\" alt=\"Open/Close node\" /></a>");
}
} else {
if (ls) document.write("<img src=\"img/join.gif\" align=\"absbottom\" alt=\"\" />");
else document.write("<img src=\"img/joinbottom.gif\" align=\"absbottom\" alt=\"\" />");
}

// Start link
document.write("<a href=\"" + nodeValues[3] + "\" onmouseover=\"window.status='" + nodeValues[2] + "';return true;\" onmouseout=\"window.status=' ';return true;\">");

// Write out folder & page icons
if (hcn) {
document.write("<img id=\"icon" + nodeValues[0] + "\" src=\"img/folder")
if (ino) document.write("open");
document.write(".gif\" align=\"absbottom\" alt=\"Folder\" />");
} else document.write("<img id=\"icon" + nodeValues[0] + "\" src=\"img/page.gif\" align=\"absbottom\" alt=\"Page\" />");

// Write out node name
document.write(nodeValues[2]);

// End link
document.write("</a><br />");

// If node has children write out divs and go deeper
if (hcn) {
document.write("<div id=\"div" + nodeValues[0] + "\"");
if (!ino) document.write(" style=\"display: none;\"");
document.write(">");
addNode(nodeValues[0], recursedNodes);
document.write("</div>");
}

// remove last line or empty icon
recursedNodes.pop();
}
}
}
// Opens or closes a node
function oc(node, bottom) {
var theDiv = document.getElementById("div" + node);
var theJoin = document.getElementById("join" + node);
var theIcon = document.getElementById("icon" + node);

if (theDiv.style.display == 'none') {
if (bottom==1) theJoin.src = icons[3].src;
else theJoin.src = icons[2].src;
theIcon.src = icons[5].src;
theDiv.style.display = '';
} else {
if (bottom==1) theJoin.src = icons[1].src;
else theJoin.src = icons[0].src;
theIcon.src = icons[4].src;
theDiv.style.display = 'none';
}
}
// Push and pop not implemented in IE(crap! don´t know about NS though)
if(!Array.prototype.push) {
function array_push() {
for(var i=0;i<arguments.length;i++)
this[this.length]=arguments;
return this.length;
}
Array.prototype.push = array_push;
}
if(!Array.prototype.pop) {
function array_pop(){
lastElement = this[this.length-1];
this.length = Math.max(this.length-1,0);
return lastElement;
}
Array.prototype.pop = array_pop;
}
 

patrice084

Best Member
sissa_87 link=topic=23810.msg213658#msg213658 date=1146571540 a dit:
moi je veux qu'il me l'affiche au milieu j'ai essaié le "target" et l'instruction "parent.frames["mainFrame"].window.location=nom_page1;"==>celle ci pour les menu en javascript avec frames pour qu'il nous affiche les page au milieu
[/color]

Essayez avec cette syntaxe.
parent.nomdelaframe.location.href = 'page.htm'; en remplaçant, of course, nomdelaframe et page.htm par vos données.
 

Ca peut vous intéresser