2010-02-10 9 views

Respuesta

57

Sin guión:

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

Mejor aún, ya que sólo se va a alguna parte, presenta al usuario con la interfaz estándar para "simplemente ir a un lugar":

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

Aunque, el contexto suena como "Simular una búsqueda normal donde el nosotros envía un formulario ", en cuyo caso la primera opción es el camino a seguir.

+13

¿Quién hubiera pensado en un enlace? haha – meouw

+0

+1 para el formulario. Dado que será una forma de búsqueda adecuada, eventualmente deberías hacerlo así si es posible. – DisgruntledGoat

+0

+1 para la solución que no es de JavaScript –

9

Se puede utilizar:

location.href = "newpage.html" 

en el evento onclick del botón.

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

¿por qué devolver falso? –

+0

Sin el 'return false', al presionar la tecla 'Enter o Return' puede que solo lo lleve a la url actual en lugar de redireccionar al nuevo enlace. Especialmente útil, cuando tiene un control de entrada de texto que le gustaría publicar en una url diferente cuando presiona la tecla enter/return. –

+1

Esa no es una muy buena explicación. El valor de retorno indica si se continúa procesando el evento. De manera predeterminada, el evento continuará burbujeando y puede desencadenar otras acciones, como enviar un formulario, ir a un enlace o nada. Sin embargo, realmente quieres "absorber" el evento aquí. Al devolver false, el procesamiento del evento terminará aquí. – redreinard

8

Esto debería funcionar ..

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

es esto lo que quiere decir?

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

Según [este stackoverflow] (http://stackoverflow.com/questions/2430936/whats-the-difference-between-window-location-and-document-location-in-javascrip) pregunta y respuesta, uno debe inclinarse hacia 'window.location' y no' document.location' ya que no es la forma canónica. –

6

Puede utilizar window.location

window.location="/newpage.php"; 

o simplemente puede hacer la forma que el botón de búsqueda está en tener una acción de la página que desea.

17

Con sencilla Javascript:

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

El OP lo quiere en jQuery .. – Reigel

+4

@Reigal: O simplemente JavaScript – meouw

0

Y en Rails 3 con CoffeeScript usando Javascript no intrusivo (EPU):

Añadir a assets/javascripts/my_controller.js.coffee:

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

que dice: cuando el evento ha disparado document.ready, añadir un evento a una onclick objeto DOM cuyo ID es field_name que ejecuta el código JavaScript window.location.href='new_url';

8

No hay necesidad de javascript, simplemente se envuelve en un enlace

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

Esta es la mejor solución, gracias. – 23W

+1

No es válido en HTML 5. Fuente: http://stackoverflow.com/a/6393863/2132073 –

+0

+ Owen tiene razón, no es legal bruh –

2

Puede utilizar este código JavaScript simple para hacer que el botón de búsqueda enlace a una página de resultados de búsqueda de muestra. Aquí he redirigido a '/ buscar' de mi página de inicio, Si desea buscar desde el motor de búsqueda de Google, puede usar "https://www.google.com/search" en acción.

<form action="/search"> Enter your search text: 
<input type="text" id="searchtext" name="q"> &nbsp; 
<input onclick="myFunction()" type="submit" value="Search It" /> 
</form> 
<script> function myFunction() 
{ 
var search = document.getElementById("searchtext").value; 
window.location = '/search?q='+search; 
} 
</script> 
0

Hay muchas preguntas aquí acerca de redirección del lado del cliente, y no puedo sostener abiertamente en la mayoría de ellos ... ésta es una excepción.

Se supone que la redirección no proviene del cliente ... se supone que proviene del servidor. Si no tiene control sobre el servidor, ciertamente puede usar Javascript para elegir otra URL a la que ir, pero ... eso no es una redirección. La redirección se realiza con 300 códigos de estado en el servidor o utilizando la etiqueta META en HTML.

14

En el HTML, puede agregar atributo de datos a su botón:

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

continuación, puede utilizar jQuery para cambiar la url:

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

espero que esto ayude

0

esto es la forma de hacerlo, Owens funciona pero no es HTML legal, técnicamente esta respuesta no es jQuery (pero ya que jQuery es un pseudocódigo preparado previamente, reinterpretado en la plataforma de cliente como JavaScript nativo - realmente es hay tal cosa como jQuery todos modos)

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

usar un enlace y el estilo como un botón:

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