Newsgroup: it.comp.lang.javascript
Titolo: Aiuto... rediriggere un risultato in un frame?

Ciao a tutti,
sto utilizzando il seguente comando per cliccare un link e rediriggere il
risultato in un frame diverso:
javascript:window.frames('centro_sud').location.href='Flotta.asp?id=" + ...
Purtroppo ricevo un messaggio di questo tipo:
Errore: Eccezione.
Non capisco perché e per questo vi chiedo aiuto... i frame sono annidati, ma
il link non deve far altro che passare da il frame soprastante a quello
sottostante della stessa pagina, quindi non mi sembrava un problema.
Mi spiego ho una pagina:
                                  TOP
CENTRO_SINISTRA CENTRO_DESTRA
                                 FOOTER
in CENTRO_SIN carico il menu
in CENTRO_DES una pagina con due frame:
CENTRO_NORD
CENTRO_SUD
Il link da cliccare č in CENTRO_N, e deve far visualizzare la pagina nel
link javascrit in CENTRO_S.
Grazie.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 link javascrit in CENTRO_S.
prova con:
parent.centro_sud.location.href="Flotta.asp";
-- 
ZER0://coder.gfxer.web-designer/
~ Tutti quelli che credono nella psicocinesi, per favore alzino la mia
mano.

 parent.centro_sud.location.href="Flotta.asp";
E' esatto funziona!
Ho problemi di compatibilità con i browser a tuo avviso?
Grazie.

 Ho problemi di compatibilità con i browser a tuo avviso?
L'ho scritto al volo, ed e' da anni ormai che non uso i frames, pero' non
credo ci siano problemi di compatibilita' di sorta (ovviamente il browser
deve gestire i frames e javascript).
-- 
ZER0://coder.gfxer.web-designer/
~ Un computer e' fondamentalmente stupido.
Non fa cio' che vuoi che faccia, ma cio' che gli dici di fare.
Solo, e' uno stupido dannatamente veloce.

 <tr onclick="parent.centro_sud.location.href='Flotta.asp'">...</tr>
Ma io ho una cosa di questo genere:
<asp:DataGrid ... ... ...>
<Columns>
<asp:BoundColumn ... ...>
...
...
</Columns>
</asp:DataGrid>
e nel codice (cs) andrei a scrivere:
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == 
ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onclick", 
"javascript:parent.centro_sud.location.href='Flotta.aspx?id=" + ...
...mi sembra l'unico modo o sbaglio?

 ...mi sembra l'unico modo o sbaglio?
Lo stai chiedendo nel NG sbagliato; ed io non utilizzo .NET per questo
genere di cose (attendo almeno la versione 2).
-- 
ZER0://coder.gfxer.web-designer/
~ "Lo dice il buon senso, ma il buon senso non e' uno standard".
(Jeffrey Zeldman)

> e.Item.Attributes.Add("onclick","parent.centro_sud.location.href='Flotta.aspx'");
Allora un'ultima domanda, non so se javascript...
Se onclick genero un evento che colora l'item cliccato, come posso fare per 
al successivo click colorare quello cliccato ma "scolorare" il precedente?
Grazie...

 al successivo click colorare quello cliccato ma "scolorare" il precedente?
O cicli gli elementi in questione, verificando dove il colore e' stato
settato e ripristinandolo, per poi impostarlo sull'elemento corrente;
oppure ti salvi da qualche parte il riferimento all'oggetto precedente.
ad esempio:
<div onclick="selectIt(this)">The one</div>
<div onclick="selectIt(this)">Yulaw</div>
<div onclick="selectIt(this)">Law</div>
<script type="text/javascript">
	var previousDivSelected=null;
 
	function selectIt(sender){
		if (previousDivSelected)
			previousDivSelected.style.color="";
		previousDivSelected=sender;
 
		sender.style.color="#ff00ff";
	}
</script>
-- 
ZER0://coder.gfxer.web-designer/
~ You don't have to be crazy to be a webmaster. But it helps.


Giusto come info, utilizzando i css ci sarebbe la pseudo classe focus 
che permetterebbe di fare quanto chiedi in modo semplice:
input:focus{background-color: #AAA;}
Purtroppo non è supportato da IE e questo la rende poco utile nella 
maggior pare delle situazioni pratiche.
Ciao.
	-Ema-

 che permetterebbe di fare quanto chiedi in modo semplice:
No, perche' questo approccio non porta al risultato desiderato dall'utente;
a prescindere da quanto dici giustamente poco piu' sotto, ovvero che non
essendo gestita correttamente da IE e' un metodo poco utile.
Soprattutto se si considera che la tecnologia usata e' 
ASP.NET
 e quindi ci
si aspetta che tra i client ci sia IE.
-- 
ZER0
~ The Tangent Universe collapsed 5930 days, 4 hours, 31 minutes and 52 seconds ago.

 
Si, solo come info infatti.
Ciao.
	-Ema-


"Non ho un vero e proprio link, perché vorrei rendere cliccabile in 
asp.net
un'intera riga di un datagrid (..)".
Punto primo, stiamo quindi parlando di un tag TR e quindi gia' il discorso
cade a priori; punto secondo, la colorazione e ripristino deve funzionare
come una "selezione",ovvero deve essere mantenuta fintanto che non si
clicca su un altro Item della DataGrid, mentre gli attributi della pseudo
classe focus vengono rimossi appena l'elemento in questione perde il focus,
non necessariamente perche' e' stata selezionata un'altra "riga".
In sostanza deve essere simulato il comportamento di una select/listbox,
laddove selezioni un elemento e anche se il focus viene perso la selezione
viene mantenuta (emmenomale!).
-- 
ZER0
~ The Tangent Universe collapsed 5930 days, 5 hours and 38 minutes ago.


Hai ragione. Non avevo messo in relazione l'ultima domanda con quanto 
scritto prima.
Ciao.
	-Ema-