2010-09-10 16 views
48

Próbuję wykonać tutaj bardzo proste zadanie, chciałbym móc kliknąć przycisk na stronie i przenieść go na inną stronę. Próbowałem window.location.href i kilka innych rzeczy i nic nie robi. Próbowałem różnych platform i różnych przeglądarek, wszystkie z tym samym wynikiem.JavaScript wczytać stronę klikając przycisk

Wiem, że może wywołać funkcję, ale po prostu nie mogę załadować nowej strony. To wszystko jest w moim lokalnym systemie plików i obie strony żyją na tym samym poziomie (ale próbowałem również załadować stronę zewnętrzną, taką jak www.apple.com).

Jakieś myśli?

Dzięki Patrick

+0

Musisz być bardziej konkretny niż "kilka innych rzeczy". Opublikuj swój kod (HTML i JavaScript) i powiedz nam, jakie błędy otrzymujesz. –

+0

Niezbyt dobry pomysł: użytkownik doświadcza przycisku, który wywołuje akcję/wyzwalacz (odświeżenie, zapisanie/załadowanie). Link (a href) jest przeznaczony do nawigacji. Nie mieszaj ich. Zmylisz użytkowników. –

Odpowiedz

76

Prosty kod przekierować stronę

<!-- 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

Ten działał, ale myślę, że moim problemem było to, że miałem typ = "submit", a nie type = "button". Dzięki za pomoc! – Patrick

+1

'window.location.assign()' działało lepiej dla mnie w firefox. Z jakiegoś powodu przydział '=' pomieszana historia. – akostadinov

15

Wystarczy window.location = "http://wherever.you.wanna.go.com/", lub dla lokalnych powiązań, window.location = "my_relative_link.html".

Możesz spróbować, wpisując go również na pasku adresu, np. javascript: window.location = "http://www.google.com/".

Należy również zauważyć, że część protokołu dotycząca adresu URL (http://) nie jest opcjonalna w przypadku łączy bezwzględnych; Pominięcie go spowoduje, że javascript przyjmie względny link.

+0

Dzięki za sugestię, nie wiedziałem, że możesz uruchomić javascript w przeglądarce, nauczyć się czegoś nowego każdego dnia. Próbowałem window.location i inne podobne, ale nie mogłem go uruchomić, i wiedziałem, że powinno. Zauważyłem, że mój "typ" był nieprawidłowy, więc nie miał nic wspólnego z JavaScriptem i wszystkim, co dotyczy kodu HTML. Jeszcze raz dziękuję za radę. – Patrick

19

Nie używaj elementów formularza, w których wystarczą elementy <a>.

<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

Myślałem także o pójściu tą drogą. Dziękuję za pomoc. I tak lubię te przyciski. Dzięki jeszcze raz. – Patrick

+0

+1 za zrobienie tego "Właściwy" – michaelward82

+0

Próbowałem tego przycisku i nie wygląda dobrze. Jest to tylko połączenie z czarną linią wokół niego. – AdmiralAdama

3

Odpowiedzi tu pracować, aby otworzyć stronę w tym samym oknie przeglądarki/karcie.

Jednak chciałem, aby strona otworzyła się w nowym oknie/zakładce po kliknięciu przycisku. (tab/decyzja okna zależy od ustawień przeglądarki użytkownika)

Więc oto jak to działało do otworzyć stronę w nowej karcie/oknie:

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

To nie musi być przycisk, możesz użyć w dowolnym miejscu. Zauważ, że _blank służy do otwierania w nowej karcie/oknie.

Powiązane problemy