J'utilise donc jquerymobile pour une application que je crée. J'ai un lien que si toute la validation réussit, j'aimerais passer, mais si quelque chose échoue, je voudrais rediriger.
Dans le jquery quelque chose comme ça. Comme il s'agit de jquerymobile, le lien sera une nouvelle div sur la même page index.html - si cela vous aide.
$(#link).click(function(){
if(validation_fails) link_elsewhere;
else return true;
}
Vous pouvez utiliser le window.location pour rediriger un navigateur:
Vous pouvez utiliser JavaScript natif de JavaScript window.location
$('#link').click(function(){
if(validation_fails) {
window.location="http://this.site.com/";
}
else {
return true;
}
}
Vous pouvez hacher l'ID div sur le window.location pour afficher le div. Quelque chose comme:
$(#link).click(function(){
if(validation_fails) window.location += "#<YOUR_DIV_ID>" ;
else return true;
}
$(#link).click(function(){
if(validation_fails){
var loc = window.location;
window.location = loc.protocol+"//"+loc.hostname+loc.pathname+"#somedivid";
} else return true;
}
Vous avez besoin du code supplémentaire au-delà de la réponse de @ Cybermate car sinon vous continuerez à ajouter le hachage chaque fois qu'il échoue, par exemple "http://foo.com/bar#whee", puis "" http://foo.com/bar#whee#whee ", etc.
Edit: Si le port peut être utilisé, vous pouvez l'inclure conditionnellement:
window.location = loc.protocol + "//" + loc.hostname +
(loc.port && ":"+loc.port) +
loc.pathname + "#somedivid";