Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072

    Attributo name che non viene validato

    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 non flaggati. Io ho provato a cambiare semplicemente il name con id ma con questa modifica non č piu possibile togliere il flag di selezione (che č attivo per default)

    Grazie per l'aiuto!


    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]Images/checkMark.gif[/img]</td>
    					<td>My Portal</td>
    				</tr>
    				<tr name="<%=RadDockableObject2.ClientID%>" onclick="MyPortalContextMenu.ItemClicked(this)" onmouseover="this.className='itemHover'" onmouseout="this.className=''">
    					<td>[img]Images/checkMark.gif[/img]</td>
    					<td>Horoscope</td>
    				</tr>
    				<tr name="<%=Raddockableobject6.ClientID%>" onclick="MyPortalContextMenu.ItemClicked(this)" onmouseover="this.className='itemHover'" onmouseout="this.className=''">
    					<td>[img]Images/checkMark.gif[/img]</td>
    					<td>News</td>
    				</tr>
    				<tr name="<%=Raddockableobject7.ClientID%>" onclick="MyPortalContextMenu.ItemClicked(this)" onmouseover="this.className='itemHover'" onmouseout="this.className=''">
    					<td>[img]Images/checkMark.gif[/img]</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());
    	}
    };

  2. #2

    Re: Attributo name che non viene validato

    Originariamente inviato da Valeria75_bis
    Io ho provato a cambiare semplicemente il name con id ma con questa modifica non č piu possibile togliere il flag di selezione (che č attivo per default)

    Grazie per l'aiuto!
    Non so se ho capito bene cmq aggiungi (non cambiare) il campo id
    id="<%=RadDockableObject1.ClientID%>" name="<%=RadDockableObject1.ClientID%>"

    e poi nel tuo oggetto cambia le parti di codice

    codice:
    		
    // da cosė:	
    	var id = menuItem.getAttribute("name");
    // a cosė 
            var id = menuItem.getAttribute("id");
    perchč da quello che vedo richiami l'attributo name e poi usi getElementById , che giā dal nome vedi che non č corretto, anche se con IE mi pare funzioni.
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Grazie mille per l'aiuto! Ho seguito il tuo consiglio ... poi ho tolto anche l'attributo name e sembra funzionare perfettamente; il problema č che, con o senza name, funziona solo con IE (con FF non succede nulla quando clicco)

  4. #4
    Con IE funzionerebbe comunque. Ho notato che vai a modificare l'attributo class, ma con FF devi usare tuo_oggetto.setAttribute('class','nome_classe') invece che className.
    Cmq se mettessi online una pagina di test sarebbe pių comodo.
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Ho messo un'estratto della pagina qui... (ho dovuto isolare un po' di "roba" inutile)

    Link

    Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Un aiutino please

    Ho fatto altre prove ma non funziona

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Ho fatto altre prove ma non so proprio come fare

  8. #8
    Scusate ma sono ancora in alto mare!!!! Qualcuno potrebbe darmi qualche aiutino?

  9. #9
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    si', ma in quanti siete li' dentro?!

    questo
    dockableObject.Show(!dockableObject.IsVisible());
    a meno che non abbia capito meno di nulla non ha senso

    semmai potrebbe essere sostituito da qualcosa del genere
    dockableObject.style.display=(dockableObject.style .display=='none')?'block':'none'

  10. #10
    Grazie per il supporto! Il problema ora č che (sempre con FF) quando si seleziona l'elemento, scompare l'intera riga e non il flag che ne indica l'abilitazione :-(((

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.