Attributo name che non viene validato

Valeria75

Nuovo Utente
28 Set 2006
29
0
0
Ciao, ho un problema con un pezzo di codice che non viene validato in quanto contiene un attributo "name" non valido che non so come cambiare

Nel dettaglio viene visualizzato un elenco di voci che, al click, del mouse vengono flaggati o "sflaggati". Io ho provato a sostituire semplicemente il name con id ma con questa modifica non è piu possibile togliere il flag di selezione (che è attivo per default) in FF.

Inoltre mettendo l'ID al posto name mi sembra di notare che ci sia un nuovo problema in fase di validazione dell'HTML in quanto risultano esserci due oggetti con lo stesso ID (o almeno credo)

Pagina che riproduce la mia situazione,

http://www.siparonline.com/tmp/home.htm

Codice:
<% if (RadDockingManager1.DockEnabled) { %>
			<table id="contextMenu" style="position:absolute;top:0px;left:0px;display:none;width:120px" class="contextMenuTable" cellpadding="4" cellspacing="0">
				<tr name="<%=RadDockableObject1.ClientID%>" onclick="MyPortalContextMenu.ItemClicked(this)" onmouseover="this.className='itemHover';" onmouseout="this.className=''">
					<td><img src="Images/checkMark.gif" alt="Check"/></td>
					<td>My Portal</td>
				</tr>
				<tr name="<%=RadDockableObject2.ClientID%>" onclick="MyPortalContextMenu.ItemClicked(this)" onmouseover="this.className='itemHover'" onmouseout="this.className=''">
					<td><img src="Images/checkMark.gif" alt="Check"/></td>
					<td>Horoscope</td>
				</tr>
				<tr name="<%=Raddockableobject6.ClientID%>" onclick="MyPortalContextMenu.ItemClicked(this)" onmouseover="this.className='itemHover'" onmouseout="this.className=''">
					<td><img src="Images/checkMark.gif" alt="Check"/></td>
					<td>News</td>
				</tr>
				<tr name="<%=Raddockableobject7.ClientID%>" onclick="MyPortalContextMenu.ItemClicked(this)" onmouseover="this.className='itemHover'" onmouseout="this.className=''">
					<td><img src="Images/checkMark.gif" alt="Check"/></td>
					<td>Subscriptions</td>
				</tr>
			</table>
			<% } %>



var MyPortalContextMenu = {
	contextMenu : null,
	
	Hide : function()
	{
		if (this.contextMenu)
		{
			this.contextMenu.style.display = "none";
		}
	},

	Show : function(e, contextMenuId)
	{
		var x = document.body.scrollLeft + document.documentElement.scrollLeft + e.clientX;
		var y = document.body.scrollTop + document.documentElement.scrollTop + e.clientY;
		
		if (!this.contextMenu)
		{
			this.contextMenu = document.getElementById(contextMenuId);
		}
		
		var cmTable = this.contextMenu;
		
		var rows = cmTable.rows;
		for (var i = 0; i < rows.length; i++)
		{
			this.SetItemState(rows[i]);
		}
		
		cmTable.style.display = "";
		cmTable.style.top = (y + "px");
		cmTable.style.left = (x + "px");
	},

	SetItemState : function(menuItem)
	{
		var id = menuItem.getAttribute("name");
		var dockableObject = document.getElementById(id);
		if (!dockableObject)
			return;
		var isVisible = (dockableObject.style.display != "none");
		menuItem.cells[0].childNodes[0].style.visibility = isVisible ? "" : "hidden";
		menuItem.className = "";
	},

	ItemClicked : function(menuItem)
	{				
		var id = menuItem.getAttribute("name");
		var dockableObject = document.getElementById(id);
		if (!dockableObject)
			return;
		
		dockableObject.Show(!dockableObject.IsVisible());
	}
};

Grazie per l'aiuto!
 

Discussioni simili