2012-09-20 22 views
9

Cercando di ottenere il mio pulsante per agire come un collegamento (provato il tag <A> e funzionerebbe se si apre in una nuova scheda ma non se si fa clic su di esso. Quindi provato questo codice e nulla. SuggerimentiPulsante di reindirizzamento Javascript

<button onClick="location.href='/secure/edit.aspx?id=671'">Edit</button> 
+0

Funziona per me: http://jsfiddle.net/NTICompass/vFfq3/1/ –

risposta

7
<button onclick="window.location='/secure/edit.aspx?id=671'">Edit</button> 
2

Prova con window.location

<button onClick="window.location='/secure/edit.aspx?id=671'">Edit</button> 
15

È necessario dire esplicitamente window.location perché this nel contesto del pulsante è esimo e pulsante oggetto stesso. In genere, JavaScript viene eseguito nel contesto dell'oggetto window, quindi non è necessario farlo.

<button onClick="javascript:window.location.href='/secure/edit.aspx?id=671'">Edit</button> 

(Inoltre, mi piace anche di affermare esplicitamente che la sceneggiatura è javascript:, ma questa è puramente una cosa personale.)

+0

L'etichetta 'javascript' è inutile. – RobG

+0

Ridondante, non inutile. Vedere https://gist.github.com/3770452 Tuttavia, perché mi piace includerlo perché ritengo che migliori la leggibilità. –

+1

Dipende dalla lingua. Nell'inglese americano, il ridondante viene spesso utilizzato per indicare "backup" o "failover" (ad esempio un sistema ridondante per l'alimentazione di emergenza). In altre versioni dell'inglese, ridondante significa non necessario o eccedente ai requisiti, quindi è sinonimo di inutile. :-) – RobG

0

Aggiungi type = "button"

<button type = "button" onClick="window.location='/secure/edit.aspx?id=671'">Edit</button> 

È necessario aggiungere il type, in caso contrario, il pulsante fungerà da pulsante di invio e POST il modulo anziché reindirizzare all'URL desiderato.

Problemi correlati