25 messaggi dal 18 marzo 2004
Ho un form con un pulsante e diversi campi, il tutto fà partire una pagina asp che esegue una query. Bene, vicino ad ogni campo ho messo un link per aprire una finestra, link che parte sull'evento onClick. Il fatto è che il click sul link mi fà anche partire l'esecuzione della pagina asp relativa al form, praticamente l'onclick mi fà partire anche la submit! Come posso ovviare? grazie!
11.886 messaggi dal 09 febbraio 2002
Contributi
mmh... ci dev'essere qualche inghjppo. Il click su un link in genere non fa partire l'invio di un form.

Posta un po' di codice, specialmente il link che possiede l'evento onClick e la funzione che esso invoca.
ciao

Enjoy learning and just keep making
25 messaggi dal 18 marzo 2004
ecco qua:

<form name="modulo" method="get" action="risultati.asp">
<INPUT type="IMAGE" src=" <%response.write server.mappath ("SHELL32.gif") %>" onclick="ApriFinestra()">

<input type="text" name= "<% Response.Write customfields.Fields.Name %>" class="txt">
<input type="submit" value="Send" class="sub">
</form>
11.886 messaggi dal 09 febbraio 2002
Contributi
ah ecco spiegato l'arcano :)

l'input type="image" ha la stessa funzione del submit: serve per inviare un form.
L'unica differenza è che il primo si presenta come immagine e non come bottone.

Se vuoi un link semplice che non posti il form, adotta questa sintassi:

<form name="modulo" method="get" action="risultati.asp">
<a href="Javascript:ApriFinestra()"><img src="<%response.write server.mappath("SHELL32.gif")%>" border="0"></a>
<input type="text" name= "<% Response.Write customfields.Fields.Name %>" class="txt">
<input type="submit" value="Send" class="sub">
</form>

Così metti un collegamento ipertestuale (che esegue un javascript) sopra un'immagine comune. Non ci sarà alcuna interazione indesiderata con il form.
Una considerazione:
Se fai Server.MapPath("SHELL32.gif") ti verrà generato un percorso fisico, tipo:
c:\inetpub\wwwroot\cartella\shell32.gif
che può andar bene se stati testando il sito in locale o se la tua applicazione deve essere usata su una sola macchina.
Al momento della pubblicazione su internet però, gli utenti non vedranno l'immagine perchè verrà cercata sul LORO disco, esattamente nella posizione c:\inetpub\wwwroot\cartella\shell32.gif
ciao

Enjoy learning and just keep making
25 messaggi dal 18 marzo 2004
grazie, sei stato gentilissimo
un'ultima cosa: posso rendere la nuova finestra che apro "modale"?
Modificato da fabioRGV il 02 aprile 2004 14.32 -
11.886 messaggi dal 09 febbraio 2002
Contributi
nella funzione ApriFinestra avrai una istruzione del tipo:

window.open("pagina.html", "_blank", "..ecc...")

sostituiscila con:
window.showModalDialog("pagina.html")

qui trovi tutta la guida alla funzione:
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/showModalDialog.asp

ma questo è un metodo che funziona solo su IE. Se vuoi qualcosa di più compatibile, considera l'idea di creare delle simil-finestre modali usando DHTML.
Ti compariranno dei layer in primo piano che simulano l'apertura di una finestra vera e propria. Guarda questo link:
http://javascript.about.com/library/weekly/aa091001a.htm
e clicca in DHTML Modal dialog
poi su "Click to show dhtml modal dialog" per avere un esempio pratico


Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.