2011-01-06 15 views
19

Así que estoy usando jquerymobile para una aplicación que estoy creando. Tengo un enlace que, si pasa toda la validación, me gustaría pasar, pero si algo falla, me gustaría redireccionar.Redirigir usando jQuery

En el jquery algo como esto. Como es jquerymobile, el enlace será un nuevo div en la misma página index.html, si eso ayuda.

$(#link).click(function(){ 
    if(validation_fails) link_elsewhere; 
    else return true; 
} 
+0

esto verdaderamente es sólo javascript, nada realmente está pasando con jQuery – jondavidjohn

Respuesta

1

Puede hash de la div id a la window.location para mostrar el div. Algo así como:

$(#link).click(function(){ 
    if(validation_fails) window.location += "#<YOUR_DIV_ID>" ; 
    else return true; 
} 
13

Se puede utilizar de JavaScript nativawindow.location

$('#link').click(function(){ 

    if(validation_fails) { 
     window.location="http://this.site.com/"; 
    } 
    else { 
     return true; 
    } 
} 
1
$(#link).click(function(){ 
    if(validation_fails){ 
    var loc = window.location; 
    window.location = loc.protocol+"//"+loc.hostname+loc.pathname+"#somedivid"; 
    } else return true; 
} 

necesita el código extra más allá de la respuesta de @ Cybermate porque de lo contrario podrá mantener añadiendo el hash cada vez que se falla, por ejemplo "Http://foo.com/bar#whee", luego "" http://foo.com/bar#whee#whee", etc.

Editar: Si podría utilizarse el puerto, puede incluir condicionalmente que:

window.location = loc.protocol + "//" + loc.hostname + 
        (loc.port && ":"+loc.port) + 
        loc.pathname + "#somedivid"; 
+0

loc.port se puede utilizar cuando el número de puerto necesario. –

Cuestiones relacionadas