2010-09-10 30 views
48

Sto cercando di fare un compito molto semplice qui, vorrei poter cliccare su un pulsante su una pagina e farlo portarmi in un'altra pagina. Ho provato window.location.href e un sacco di altre cose e non fa nulla. Ho provato diverse piattaforme e diversi browser, tutti con lo stesso risultato.JavaScript carica una pagina sul pulsante clic

So che può chiamare una funzione ma non riesco a caricare la nuova pagina. Anche questo è tutto nel mio file system locale e entrambe le pagine vivono allo stesso livello (ma ho anche provato a caricare una pagina esterna come www.apple.com).

Qualche idea?

Grazie Patrick

+0

Devi essere più specifico di "un mucchio di altre cose". Pubblica il tuo codice (HTML e JavaScript) e dicci quali errori stai ricevendo. –

+0

Non è una buona idea: un utente viene avvertito da un pulsante come qualcosa che causa azione/trigger (postback, salva/carica). Un link (a href) viene utilizzato per la navigazione. Non mescolare quelli. Confonderai gli utenti. –

risposta

76

semplice codice per redirect

<!-- html button designing and calling the event in javascript --> 
<input id="btntest" type="button" value="Check" 
     onclick=window.location.href = 'http://www.google.com' " /> 
+0

Questo funzionava, tuttavia penso che il mio problema fosse che avevo type = "submit" e non type = "button". Grazie per l'aiuto! – Patrick

+1

'window.location.assign()' ha funzionato meglio per me in firefox. Per qualche motivo assegnazione '=' cronologia incasinata. – akostadinov

15

Proprio window.location = "http://wherever.you.wanna.go.com/", o, per i collegamenti locali, window.location = "my_relative_link.html".

Puoi provarlo digitandolo nella barra degli indirizzi, ad es. javascript: window.location = "http://www.google.com/".

Si noti inoltre che la parte del protocollo dell'URL (http://) non è facoltativa per i collegamenti assoluti; omettendolo farà javascript assumere un collegamento relativo.

+0

Grazie per il suggerimento, non sapevo che potevi eseguire javascript nel browser, imparare qualcosa di nuovo ogni giorno. Stavo provando il window.location e altri mi piacevano, ma non riuscivo a farlo funzionare, e sapevo che avrebbe dovuto. Ho scoperto che il mio "tipo" era sbagliato, quindi non aveva nulla a che fare con il codice JavaScript e tutto ciò che aveva a che fare con l'HTML. Grazie ancora per il consiglio. – Patrick

19

Non abusare degli elementi del modulo in cui gli elementi <a> sono sufficienti.

<style> 
    /* or put this in your stylesheet */ 

    .button { 
     display: inline-block; 
     padding: 3px 5px; 
     border: 1px solid #000; 
     background: #eee; 
    } 

</style> 

<!-- instead of abusing a button or input element --> 
<a href="url" class="button">text</a> 
+0

Stavo anche pensando di andare in questo modo. Grazie per l'aiuto. Mi piacciono di più questi pulsanti comunque. Grazie ancora. – Patrick

+0

+1 per farlo 'The Right Way' – michaelward82

+0

Ho provato questo pulsante e non sembra buono. È solo un collegamento con una linea nera attorno ad esso. – AdmiralAdama

3

Le risposte qui lavorano per aprire la pagina nella stessa finestra del browser/scheda.

Tuttavia, volevo che la pagina si aprisse in una nuova finestra/scheda quando fanno clic su un pulsante. (scheda/decisione della finestra dipende dall'impostazione browser dell'utente)

ecco come ha funzionato per aprire la pagina in una nuova scheda/finestra:

<button type="button" onclick="window.open('http://www.example.com/', '_blank');">View Example Page</button> 

Non deve essere un pulsante, puoi usare ovunque. Avviso _blank utilizzato per aprire in una nuova scheda/finestra.

Problemi correlati