Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Differenza tra <a href=""> e window.location.href & altro

160 views
Skip to first unread message

giuseppeD

unread,
Feb 26, 2008, 4:23:23 AM2/26/08
to
Salve a tutti,
sviluppando in Asp.Net ti accorgi sempre più dell'importanza di una buona
conoscenza di Javascript.
Ho alcune domande:
1-
la differenza tra <a href="form.aspx"> e
window.location.href="form.aspx?.....

2- se utilizzo <a href="form.aspx?par1=p1&par2=p2"
i valori dei parametri è possibile leggerli da componenti html ?

3-
window.opener.document.getElementById('
window.opener è possibile utilizzarlo solo in un dialogo tra form e popoup
?

Grazie
giuseppeD


--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it


ZER0

unread,
Feb 26, 2008, 5:04:44 AM2/26/08
to
On Tue, 26 Feb 2008 10:23:23 +0100, giuseppeD wrote:

> Salve a tutti,
> sviluppando in Asp.Net ti accorgi sempre più dell'importanza di una buona
> conoscenza di Javascript.

Diciamo che sviluppando su web, si dovrebbe avere una buona conoscenza
di javascript. :) E' sempre stato così, ma è diventato noto alla massa
solo recentemente (merito di "ajax", indubbiamente).

> Ho alcune domande:
> 1-
> la differenza tra <a href="form.aspx"> e
> window.location.href="form.aspx?.....

Dipende cosa intendi per "differenza". Uno è un link, l'altra è invece
un'istruzione js. Nel primo caso si presuppone un'azione, un click, da
parte dell'utente. Nel secondo caso no. Il link funziona anche se JS è
disabilitato, il secondo esempio - ovviamente - no.
Entrambi (il primo se cliccato appunto) portano al medesimo risultato,
ovvero alla pagina "form.aspx" (nel secondo caso, con parametri).

Sono ovvietà, lo so, ma altrimenti non capisco il senso della domanda.



> 2- se utilizzo <a href="form.aspx?par1=p1&par2=p2"
> i valori dei parametri è possibile leggerli da componenti html ?

Cosa intendi per "componenti HTML", scusa?
Lato server puoi leggerli tramite .NET, lato client (essendo i dati in
GET) puoi recuperarli da javascript, tramite la proprietà search della
location:

alert( window.location.search );

Che ti restituisce tutto ciò che va dal "?" (compreso) in avanti. Poi,
devi "smazzartela" tu la stringa risultante (con "split" o regexp), se
vuoi ottenere i singoli parametri.

> 3-
> window.opener.document.getElementById('
> window.opener è possibile utilizzarlo solo in un dialogo tra form e popoup
> ?

Anche qui, non mi è ben chiaro cosa intendi.
"window.opener" è un riferimento alla finestra genitrice. Come poi vai
a usarlo, sta a te. Non c'entrano le "form" (intese come form HTML).

--
~ "La realtà è ciò che, quando smetti di crederle, non va via."
(Philip K. Dick)

giuseppeD

unread,
Feb 26, 2008, 6:10:52 AM2/26/08
to
ZER0 ha scritto:

> Anche qui, non mi è ben chiaro cosa intendi.
> "window.opener" è un riferimento alla finestra genitrice. Come poi vai
> a usarlo, sta a te. Non c'entrano le "form" (intese come form HTML).

I dubbi sono conseguente all'utilizzo del componente BusyBoxDotNet,
si attiva all'esecuzione di codice lato server.
Dovendo costruire dei report excel, la chiamata della form e il passaggio
dei parametr deve avvenire tutto lato client.

dovendo chiamare una form, in prima <a href="form.aspx">,
ma ci sono dei parametri da passare, da leggere in un controllo
<asp:HiddenField
con <a href come leggere il value del controllo hidden ?

se chiamo una form con <a href ,
pensavo che dalla form chiamata con
window.opener.document.forms(0).hdnNote.value;
potevo leggere il valore del controllo.

grazie per le risposte

Daniele Bruneo

unread,
Feb 26, 2008, 7:32:34 AM2/26/08
to
Per avere accesso all'opener devi aprire la finestra con window.open.
Ma perchè non passare il valore direttametne all'atto dell'apertura
anzichè leggerlo dopo dall'opener?

P.S. giuseppe usa il termine "form" non nel significato che ha in html
ma nell'accezione di WebForm che ha in Asp.NET, ovvero uan pagina aspx.

ZER0

unread,
Feb 26, 2008, 7:46:17 AM2/26/08
to
On Tue, 26 Feb 2008 04:32:34 -0800 (PST), Daniele Bruneo wrote:

> P.S. giuseppe usa il termine "form" non nel significato che ha in html
> ma nell'accezione di WebForm che ha in Asp.NET, ovvero uan pagina aspx.

Lo so che in .NET hanno tale valenza, ed è per quello che ho preferito
specificare nelle parentesi il significato con cui si utilizza qui.

--
~ Tutti quelli che credono nella psicocinesi,
per favore alzino la mia mano.

ZER0

unread,
Feb 26, 2008, 7:58:10 AM2/26/08
to
On Tue, 26 Feb 2008 12:10:52 +0100, giuseppeD wrote:

> dovendo chiamare una form, in prima <a href="form.aspx">,
> ma ci sono dei parametri da passare, da leggere in un controllo
> <asp:HiddenField
> con <a href come leggere il value del controllo hidden ?

Non è molto chiaro quello che hai scritto. Per sommi capi, comunque,
devi vedere cosa ti genera client-side. A quel punto puoi iniziare a
scrivere codice JS per recuperare il valore del controllo hidden, ma
non prima di capire cosa questo ti genera sul brower.
Se ti genera un banale campo hidden con un id, di questo tipo:

<input type="text" id="myHidden" value="bla bla bla" />

ti basta fare:

alert( document.getElementById("myHidden").value );

Se poi vuoi mettere quel valore nell'href del link, ovviamente, devi
ottenere un riferimento a questo. A quel punto puoi modificare l'url
a cui punta inserendo il valore del campo hidden come parametro.

> se chiamo una form con <a href ,

Ti ripeto, client-side "form" ha tutt'altro significato. Ovvero, una
form HTML, come quella a cui ti riferisci poco sotto.

> window.opener.document.forms(0).hdnNote.value;
> potevo leggere il valore del controllo.

1) Devi usare le quadre al posto delle tonde.

2) Solo se hdnNote è il "name" (non l'id) di quel campo

3) Solo se sei in una popup, e vuoi leggere quel campo nella opener.
(ma in tal caso hai già aperto "form.aspx", no?)

4) Ad ogni modo dovresti ottenere un qualche errore se il codice non
è corretto.

--
~ Non sono disordinato. Sono solo un massimizzatore di entropia.

0 new messages