Newsgroup: it.comp.lang.javascript
Titolo: Compatibilità con MAC su creazione nodi dinamici

Ciao a tutti,
sono parecchi mesi ma tanti che manco da questo NG, ma con mio piacere
vedo che i "vecchi ragazzi" ci sono sempre...
Il problema è devo "far andare" senza troppi perfezionamenti e
sofisticherie questo blocco di codice anche su MAC. Arg!!! Direte voi
lo so...lo composto mesi/anni addietro.
Su PC va su MAC non mi da errore ma nulla.
Spero in una vostra perchè la vedo nera...
TNKS
Alen
-------------------------------------------------------------------------------
<script language="JavaScript" type="text/JavaScript">
<!--
var ContaRighe = 0;
function addRow(FirstLine){
	var obj = document.getElementById;
	ContaRighe = ContaRighe+1
	var tbl  = document.getElementById('OrdineProdottiTBL');
	//Da qui....
	var tr  = document.createElement("<tr>");
 
tr.id
 = 'Row'+ContaRighe;
	var td1 = document.createElement("<td class='TXTbaseLineaSotto'>");
		tr.appendChild(td1);
	//EAN
	var txtCodifica = document.createTextNode("EAN n° ");
		td1.appendChild(txtCodifica);
	//Valore EAN
	var input4 = document.createElement("<input name='EAN' type='text'
class='FormBase' size='20' maxlength='20' style='width:120px;'>");
 
input4.id
 = 'EAN'+ContaRighe;
		td1.appendChild(input4);
	//Magazzini combobox
	var selectMag = document.createElement("<select name='AttributoNew'
class='FormBase'>");
		selectMag.id = 'AttributoNew'+ContaRighe;
		//Intestazione....
		var newElem0 = document.createElement("option");
			newElem0.setAttribute('value','');
			newElem0.style.backgroundColor = '#F2F2F2';
		var newText0 = document.createTextNode("-Attributo d'aggancio—");
			newElem0.appendChild(newText0);
			selectMag.appendChild(newElem0);
				var newElem2 = document.createElement("option");
					newElem2.setAttribute('value','1');
				var newText2 = document.createTextNode("*** Da definire ***");
					newElem2.appendChild(newText2);
					selectMag.appendChild(newElem2);
				var newElem2 = document.createElement("option");
					newElem2.setAttribute('value','0');
				var newText2 = document.createTextNode("*** Non applicabile ***");
					newElem2.appendChild(newText2);
					selectMag.appendChild(newElem2);
				var newElem2 = document.createElement("option");
					newElem2.setAttribute('value','81');
	td1.appendChild(selectMag);
	if(FirstLine == '' || FirstLine == null){
	//Elimina nodo
	var S = document.createElement("<span class='TXTspecificheBlu'>")
	var TextSpace = document.createTextNode(" ")
		S.appendChild(TextSpace);
	var A = document.createElement("<a class='UnderRed' id='V"+ContaRighe
+"' onClick=\"RimuoviRiga('Row'+this.id.substr(1));return false;\"
href='#' title=\"Elimina il codice EAN per il prodotto\">");
		S.appendChild(A);
	var TextA = document.createTextNode("[-] Elimina")
		A.appendChild(TextA);
		td1.appendChild(S);
	}
	//-----------------
	//Aggiungo il tutto
	//-----------------
	tbl.tBodies(0).appendChild(tr);
}
//********************************
// Elimina la riga creata dinamicamente
//********************************
function RimuoviRiga(TrF){
//alert(TrF)
//TrF è il nome della riga con progressivo
//i è il campo contatore
//alert(Price);
var Figlia = document.getElementById(TrF);
	var Obj = document.forms[0];
	var errors = '';
	var conta = 0;
	for(i=0; i < Obj.elements.length; i++){
		if(Obj.elements[i].name=='EANupd'){
			conta += 1;
		}
   	}
	(conta==1)?errors+='- Un EAN è obbligatorio!\n':null;
	if(errors){
		alert(errors);
	}else{
		if(Figlia){
			//alert(TrF.substring(5));
			EliminaEAN(TrF.substring(5));
			var Padre = Figlia.parentNode;
			Padre.removeChild(Figlia);
			//i = i-1;
		}
	}
}
function EliminaEAN(ID){
	var HiddenVal = 'IDean'+ID;
	document.getElementById('CancellaEANs').value =
document.getElementById('CancellaEANs').value
+"'"+document.getElementById(HiddenVal).value+"',"
	//alert(document.getElementById(HiddenVal).value);
	//alert(document.getElementById('CancellaEANs').value);
}
-->
</script>
</head>
<table width="100%" border="0" cellspacing="0" cellpadding="0"
id="OrdineProdottiTBL">
<form>
    <tr id="Row0">
      <td class="TXTbaseLineaSotto">Part n&deg;<img src="file:///C|/
Siti/Imm/spacer.gif" alt="spacer" width="2" height="2">
              <input name="PartNumber" type="text" class="FormBase"
id="PartNumbe0" size="20" maxlength="50" style="width:120px;"
value="">
        Nome
        <input name="Nome" type="text" class="FormBase" id="Prodotto0"
size="20" maxlength="50" style="width:120px;" value="">
        ISBN
        <input name="ISBN" type="text" class="FormBase" id="ISBN0"
value="" size="20" maxlength="20" style="width:120px;">
        <span class="TXTspecificheBlu">(solo se libro)</span></td>
    </tr>
  </table>
          <script language="JavaScript" type="text/javascript">
									addRow('Obbligatorio');
								</script>
          <table width="100%"  border="0" cellpadding="0"
cellspacing="0">
            <tr id="AltroProdottoOrdine">
              <td height="20" valign="bottom" class="TXTbase"><a
href="#" onClick="addRow();return false;" class="UnderGreen">[+]
Aggiungi uno o pi&ugrave; codici EAN per il prodotto</a></td>
            </tr>
			<form>
        </table>

 	tbl.tBodies(0).appendChild(tr);
Quadre, non tonde, per tBodies. Non e` una funzione.
Il resto lo salto.. perche` a conti fatti, questo codice va del tutto
rifatto: da cima a fondo. Cosi` com'e`, e` gia` tanto che ti funzioni
su Win/IE.. e visto che non rispetta gli standard, se la Microsoft un
giorno decidesse di fixare questi comportamenti anomali, non andrebbe
piu` manco su quella piattaforma.
-- 
"When you have eliminated the impossible, whatever remains, however
improbable, must be the truth."