ciaoa tutti e, in primis, mi scuso per l'ignoranza ma ce la sto mettendo tutta in javascript....
mi trovo in una situazione in cui devo verificare l' id di diverse tabelle e,div e celle, perchè in base a quello, viene calcolata l'immagine da inserire nella tabella,div o cella a cui fa riferimento l'id.
successivamente, verifico con js le reali dimensioni della tabella,div o cella, chiamo una classe php che mi genera un immagine da utilizzare come background, e modifico lo style dell atabella in modo da utilizzare nel sito UNA immagine come sorgente ma sempre resizata per la tabella,cella o div che dovrà ospitarla... l'idea è buona e fattibile, se non per un piccolo problema legato appunto a js e che non riesco a gestire, nonostante io programmi in php....
vi posto il codice....
codice:
<html>
<head>
<?
include("php_class/img2thumb.class.php");
?>
<script language="javascript">
// questo forse è la funzione che da problemi e che deve generare l' array degli id
function ArrayId(sId)
{
var outArray = new Array();
if(typeof(sId)!='string' || !sId)
{
return outArray;
};
if(document.evaluate)
{
var xpathString = "//*[@id='" + sId.toString() + "']"
var xpathResult = document.evaluate(xpathString, document, null, 0, null);
while ((outArray[outArray.length] = xpathResult.iterateNext()))
{
}
outArray.pop();
}
else if(document.all)
{
for(var i=0,j=document.all[sId].length;i<j;i+=1)
{
outArray[i] = document.all[sId][i];
}
}
else if(document.getElementsByTagName)
{
var aEl = document.getElementsByTagName( '*' );
for(var i=0,j=aEl.length;i<j;i+=1)
{
if(aEl[i].id == sId )
{
outArray.push(aEl[i]);
};
};
};
return outArray;
}
//questa funziona
function getWidth(id)
{
x = document.getElementById(id);
return x.offsetWidth;
}
//questa funziona
function getHeight(id)
{
y = document.getElementById(id);
return y.offsetHeight;
}
//questa funziona finche deve gestire un dato e non array,così modificata non funge
function bgtab(id)
{
table=ArrayId(id);
for (a=0;a<table.lenght;a++)
{
table[a].style.backgroundImage="url(background.php?filename="+id+".png&newxsize="+getWidth(id)+"&newysize="+getHeight(id)+"&bgred=173&bggreen=223&bgblue=156)";
alert(table[a]+" "+id);
alert('larghezza tabella è ' + getWidth(id)+ ' pixel');
alert('altezza tabella è ' + getHeight(id)+ ' pixel');
}
}
</script>
</head>
<body onload="javascript:bgtab('intestazione');bgtab('corpo');">
<table id="test" border="0" width="350" >
<tr>
<td id="intestazione" align="center">intestazione</td>
</tr>
<tr >
<td id="corpo">
ble bla bla
</td >
</tr>
<tr>
<td id="intestazione">ciao mondo</td>
</tr>
</table>
</body>
</html>
brobabilmente mi sto compluicando la vita e forse il mio codice,previ errori sarà anche strutturato male... mi affido a voi, la spada di damocle pende sul mio capo