salve, ho questo codice:
function listAttribute()
{
/*
* Un insieme di righe del formato
* <attributo>::<valore>
*/
var rows = new Array();
var i = 0;
const div = "||";
const eq = "::";
function addRow(row)
{
if(row.indexOf(eq)>0)
rows.push(row);
else
alert("Formato non valido.");
};
this.length = function()
{
return rows.length;
};
this.add = function(attr,value)
{
addRow(attr + eq + value);
}
this.remove = function(attr)
{
var tmpArray = new Array();
for(i=0;i<rows.length;i++)
{
var cols = rows[i].split(eq);
var attributo = cols[0];
var valore = cols[1];
if(attributo!=attr)
{
tmpArray.push(attributo + eq + valore);
};
}
rows = tmpArray;
};
this.get = function(attr)
{
for(i=0;i<rows.length;i++)
{
var cols = rows[i].split(eq );
var attributo = cols[0];
var valore = cols[1];
if(attributo==attr)
{
return valore;
};
}
return null;
};
this.clear = function(){rows = new Array();};
this.out = function()
{
var send = "";
for(i=0;i<rows.length;i++)
{
var cols = rows[i];
send += cols + "\n";
}
send = send.substring(0,send.length-1);
return send;
};
this.toString = function()
{
return this.out();
};
this.parse = function(text)
{
var splitter = text.split("\n");
rows = new Array();
for(i=0;i<splitter.length;i++)
{
var cols = rows[i].split(eq);
var attributo = cols[0];
var valore = cols[1];
rows.push(attributo + eq + valore);
};
};
this.send = function()
{
var snd = "";
for(i=0;i<rows.length;i++)
{
var cols = rows[i];
snd += cols + "#";
}
snd = snd.substring(0,snd.length-1);
return snd;
};
}
var sender = new listAttribute();
che richiamo con questa funzione
function doSendProfilato()
{
var senders = new vector();
var send="send=";
if(document.form.numTipologie.value==1)
{
sender.clear();
sender.add("ID",document.form.codColonna.value);
sender.add("numColonne",document.form.numColonna.v alue);
sender.add("altColonna",document.form.altColonna.v alue);
sender.add("supplNum",document.form.numSupplementi .value);
sender.add("supplImb",document.form.imbSupplementi .value);
sender.add("codMensola",document.form.codMensola.v alue);
sender.add("numMensola",document.form.numMensola.v alue);
sender.add("altMensola",document.form.altMensola.v alue);
senders.add(sender);
}
else
{
senders.clear();
var index = Number(document.form.numTipologie.value);
for(var i=0;i<index;i++)
{
var attr = new listAttribute();
attr.add("ID",document.form.codColonna[i].value);
attr.add("numColonne",document.form.numColonna[i].value);
attr.add("altColonna",document.form.altColonna[i].value);
attr.add("supplNum",document.form.numSupplementi[i].value);
attr.add("supplImb",document.form.imbSupplementi[i].value);
attr.add("codMensola",document.form.codMensola[i].value);
attr.add("numMensola",document.form.numMensola[i].value);
attr.add("altMensola",document.form.altMensola[i].value);
senders.add(attr);
}
}
send += senders.out();
return send;
}
tramite un bottone.
se premo la prima volta il pulsante va tutto bene, se premo la seconda volta mi dà l'errore "listAttribute is not a constructor"
come lo risolvo questo problema?
grazie mille. saluti, Massimiliano.