2010-02-10 7 views

Antwort

57

Ohne Skript:

<form action="where-you-want-to-go"><input type="submit"></form> 

Noch besser wäre es, da man nur irgendwo gehen, den Benutzer mit der Standardschnittstelle präsentiert für "nur irgendwo hin":

<a href="where-you-want-to-go">ta da</a> 

Obwohl der Kontext klingt wie "Simulieren Sie eine normale Suche, wo die uns Er reicht ein Formular ein ", in diesem Fall ist die erste Option der Weg zu gehen.

+13

Wer hätte gedacht, einen Link? haha – meouw

+0

+1 für das Formular. Da es ein richtiges Suchformular sein wird, sollten Sie das jetzt tun, wenn möglich. – DisgruntledGoat

+0

+1 für Nicht-JavaScript-Lösung –

9

können Sie verwenden:

location.href = "newpage.html" 

in das OnClick-Ereignis der Schaltfläche.

58
$('#someButton').click(function() { 
    window.location.href = '/some/new/page'; 
    return false; 
}); 
+4

warum falsch zurückgeben? –

+0

Ohne das 'return false' könnte das Drücken der" Enter "- oder Return-Taste nur zur aktuellen URL führen, anstatt auf die neue Verbindung umzuleiten. Besonders nützlich, wenn Sie ein Texteingabesteuerelement haben, das Sie an eine andere URL senden möchten, wenn Sie die Eingabetaste drücken. –

+1

Das ist keine sehr gute Erklärung. Der Rückgabewert gibt an, ob das Ereignis weiter verarbeitet werden soll. Standardmäßig wird das Ereignis weiterhin eingeblendet und kann weitere Aktionen auslösen, z. B. das Senden eines Formulars oder das Wechseln zu einem Link oder nichts. Allerdings möchten Sie das Ereignis hier wirklich "absorbieren". Durch die Rückgabe von false endet die Ereignisverarbeitung hier. – redreinard

8

Dies sollte funktionieren ..

$('#buttonID').click(function(){ window.location = 'new url'}); 
166

ist es das, was Sie meinen?

$('button selector').click(function(){ 
    window.location.href='the_link_to_go_to.html'; 
}) 
+1

Frage [und stackoverflow.com/questions/2430936/whats-the-difference-between-window-location-and-document-location-in-javascrip) Frage und Antwort, sollte man sich zu neigen 'window.location' und nicht' document.location', da dies nicht der kanonische Weg ist. –

6

können Sie verwenden window.location

window.location="/newpage.php"; 

Oder Sie können einfach das Formular, dass die Suchtaste in haben, ist eine Aktion der Seite, die Sie wollen.

17

Mit einfacher Javascript:

<input type="button" onclick="window.location = 'path-here';"> 
+0

Die OP wollen es in jQuery .. – Reigel

+4

@Reical: Oder nur JavaScript – meouw

0

Und in Rails 3 mit Coffee mit unaufdringlichen JavaScript (UJS):

In den assets/javascripts/my_controller.js.coffee:

$ -> 
    $('#field_name').click -> 
    window.location.href = 'new_url' 

der wie folgt lautet: wenn der document.ready Ereignis ausgelöst hat, fügen Sie ein onclick Ereignis ein DOM-Objekt, dessen ID field_name, die die JavaScript-window.location.href='new_url';

8

Keine Notwendigkeit für Javascript ausgeführt wird, wickeln sie es nur in einem Link

<a href="http://www.google.com"><button type="button">button</button></a> 
+1

Dies ist die beste Lösung, danke. – 23W

+1

Es ist nicht gültig in HTML 5. Quelle: http://Stackoverflow.com/a/6393863/2132073 –

+0

+ Owen, er hat Recht, es ist nicht legal bruh –

2

Sie können diesen einfachen JavaScript-Code verwenden, um die Suchschaltfläche zum Verknüpfen mit einer Beispiel-Suchergebnisseite zu verwenden. Hier habe ich zu ‚/ search‘ meiner Homepage umgeleitet, wenn Sie von Google-Suchmaschine suchen möchten, können Sie verwenden https://www.google.com/search in Form Aktion.

0

Es gibt eine Menge Fragen hier über clientseitige Umleitung, und ich kann auf den meisten von ihnen nicht auslaufen ... dieser ist eine Ausnahme.

Umleitung soll nicht vom Client kommen ... es soll vom Server kommen. Wenn Sie keine Kontrolle über den Server haben, können Sie sicherlich Javascript verwenden, um eine andere URL zu wählen, zu der Sie gehen können, aber ... das ist keine Umleitung. Die Umleitung erfolgt mit 300 Statuscodes auf dem Server oder durch das Eingeben des META-Tags in HTML.

14

in Ihrem HTML, können Sie Daten-Attribut auf Ihre Schaltfläche hinzu:

<button type="submit" class="mybtn" data-target="/search.html">Search</button> 

Dann können Sie jQuery verwenden, um die URL zu ändern:

$('.mybtn').on('click', function(event) { 
    event.preventDefault(); 
    var url = $(this).data('target'); 
    location.replace(url); 
}); 

this helps

0

dies der Weg, es zu tun, Owens funktioniert aber es ist nicht legal HTML, technisch ist diese Antwort nicht jQuery (aber da jQuery ist ein vorbereiteter Pseudocode - neu interpretiert auf die Client-Plattform als nativer JavaScript - es wirklich ist nicht so etwas wie jQuery sowieso)

<button onclick="window.location.href='http://www.google.com';">Google</button> 
0

einen Link und Stil wie ein Knopf Verwendung:

<a href="#page2" class="ui-btn ui-shadow ui-corner-all">Click this button</a> 
Verwandte Themen