Newsgroup: it.comp.lang.javascript
Titolo: Array e mantenimento dati

Ciao a tutti,
scusate avrei da chiedere dei chiarimenti sulla gestione degli array
Sto creando un carrello della spesa (perche' non lo copi direte voi, ma
voglio farlo io dato che e' il mio lavoro devo capire come funziona), ma
stotrovando dei problemi con la memorizzazione dei dati nel vettore.
Ecco il problema:
Ho creato un file .JS che contiene (per ora) la funzione di salvataggio dei
dati degli articoli ed e' composto da :
un array bidimensionale con valori fissi, un array vuoto dove salvare le
selezioni degli articoli, alcuen variabili e le funzioni necessarie.
Una pagina frame, un menui laterale dove stanno i pulsanti per vedere il
carrello e modificarlo, un apagina centrale con gli articoli (ovviamente
saranno diverse pagine).
Funziona cosi;
il cliente preme il bottone nella pagina articoli e viene richiamata la
funzione di caricamento: il codice passato viene filtrato per reperire gli
altri dati dal vettore bidim...
Poi devo caricare nel vettore vuoto i dati raccolti ..e qui il problema..
Non riesco a fare in modo che il vettore vuoto una volta raccolti i dati li
preservi per esere poi elaborato da altre funzioni.PERCHE'?
Posto il codice.
file engine.js
//
var ArrayArtOk = new Array();
var elem1 = "";
var elem2 = "";
var elem3 = "";
var indElem = 0;
var ArtArray = new Array ();
ArtArray.length = 3;
ArtArray[0] = new Array(3);
ArtArray[1] = new Array(3);
ArtArray[2] = new Array(3);
ArtArray[0][0] = "001";
ArtArray[0][1] = "mulinello tamburo";
ArtArray[0][2] = "75.000";
ArtArray[1][0] = "002";
ArtArray[1][1] = "roubaisienne";
ArtArray[1][2] = "1.000.000";
ArtArray[2][0] = "003";
ArtArray[2][1] = "galleggiante";
ArtArray[2][2] = "5.000";
function EstractElem (code)
{
for(var xEl = 0; xEl <= ArtArray.length; xEl++)
{
    var indElem = ArrayArtOk.length;
 var codice = ArtArray[xEl][0];
 if (codice == code)
 {
 // document.write(ArtArray[xEl]);
        elem1 = ArtArray[xEl][0];
  elem2 = ArtArray[xEl][1];
  elem3 = ArtArray[xEl][2];
  alert(elem1+elem2+elem3);
  var pippo = elem1 + "," + elem2 + "," + elem3 + ",";
  alert (ArtArray[xEl][0])
  break
 }
}
    ArrayArtOk[indElem] = pippo;
  alert("Caricamento array     "+ArrayArtOk)
}
function SeeOrder()
{
for (pippo = 1; pippo <= ArrayArtOk.length; pippo ++)
{
 top.frames['CentralPage'].document.write(ArrayArtOk[pippo])
}
}
file frames
<!-- frames -->
<frameset  cols="19%,*">
    <frame name="SXFrame" src="menulaterale.htm" marginwidth="0"
marginheight="0" scrolling="no" frameborder="no" noresize>
    <frame name="CentralPage" src="PaginaArticoli.htm" marginwidth="0"
marginheight="0" scrolling="no" frameborder="no" noresize>
</frameset>
file menu
<html>
<head>
 <title>Untitled</title>
 <script type="text/javascript" language="JavaScript" src="engine.js">
 <!--
 //-->
 </script>
</head>
<body bgcolor="#00ff00">
<img src="../ECS Sito/immagini/provabottone.png" width=100 height=30
border=0 alt="">
<br><br>
<input type="Button" name="See" value="Vedi"
onclick="top.frames['SXFrame'].SeeOrder();">
</body>
</html>
fiel articoli
<html>
<head>
 <title>Untitled</title>
 <script type="text/javascript" language="JavaScript" src="engine.js">
 <!--
 //-->
 </script>
</head>
<body bgcolor="#0000ff">
<input type="Button" name="Elem1" value="articolo 1"
onclick="EstractElem(001);">
<img src="../ECS Sito/immagini/bullet_1.png" width=16 height=16 border=0
alt="">
<br><br>
<input type="Button" name="Elem1" value="articolo 2"
onclick="EstractElem(002);">
<img src="../ECS Sito/immagini/bullet_3.png" width=16 height=16 border=0
alt="">
<br><br>
<input type="Button" name="Elem1" value="articolo 3"
onclick="EstractElem(003);">
<img src="../ECS Sito/immagini/bullet_3.png" width=16 height=16 border=0
alt="">
</body>
</html>
se qualcuno mi sa dare spiegazioni :-)
Grazie Emanuele

 Ecco il problema:
[]

[]

Grazie !

Grazie !

Scusa pipppod...
io nel mio script ho usato un array bidimensionale, (alquanto ingombrante),
mentre tu dichiari una cosa del genere:
var ArrayArtOk = new Array();
function articoli(desc,prezzo){
 this.desc=desc;
 this.prezzo=prezzo;
}
articoli['001']= new articoli("mulinello tamburo","75.000");
articoli['002']= new articoli("roubaisienne","1.000.000");
articoli['003']= new articoli("galleggiante","5.000");
ma scusa:
articoli non e' un vettore, e da quello che ne so io si puo' usare la
nomenclatura [] solo con gli elementi del vettore ...puoi spiegare questo
fatto?
Ancosa una cosa: mi consigli un vettore come ho fatto io o la tua soluzione
(quando l'avro capita) e' meno pesante ?
Ciao grazie in anticipo
Emanuele

 ha scritto nel messaggio
news:B_%F5.13080$Nz.3...@news.infostrada.it...


grazie