Modifier URL
Résolu
EpiX
-
jordane45 Messages postés 38480 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38480 Date d'inscription Statut Modérateur Dernière intervention -
A voir également:
- Modifier URL
- Modifier dns - Guide
- Url - Guide
- Modifier liste déroulante excel - Guide
- Modifier story facebook - Guide
- Modifier extension fichier - Guide
3 réponses
function finale(rouge,vert,bleu){ var href = window.location.href; newuri = addOrUpdateUrlParam(href,'rouge',parseInt(rouge)); newuri = addOrUpdateUrlParam(newuri,'vert',parseInt(vert)); newuri = addOrUpdateUrlParam(newuri,'bleu',parseInt(bleu)); window.location.href = newuri; } function addOrUpdateUrlParam(uri, key, value) { var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i"); var separator = uri.indexOf('?') !== -1 ? "&" : "?"; if (uri.match(re)) { return uri.replace(re, '$1' + key + "=" + value + '$2'); }else{ return uri + separator + key + "=" + value; } }
Bonjour,
Si tu as pris la solution la plus "liké"
Il te suffit d'appeller autant de fois que désiré, la fonction
ce qui donnera une url du genre
Si tu as pris la solution la plus "liké"
Il te suffit d'appeller autant de fois que désiré, la fonction
addOrUpdateUrlParam('priceMin', 300); addOrUpdateUrlParam('priceMax', 600); addOrUpdateUrlParam('autretruc', "abcd");
ce qui donnera une url du genre
http://something.com/mobiles.php?priceMin=300&priceMax=600&autretruc=abcd
Bonjour,
Je vous remercie de votre réponse.
J'ai bien essayé de créer une fonction ( que j'ai appelé "finale") dans laquelle j’appelle plusieurs fois la fonction "addOrUpdateUrlParam" obtenue sur le sur le lien que j'ai transmis plus haut. J'ai fait ceci dans le but de créer un bouton qui lorsque j'aurai cliqué dessus, exécutera la fonction "finale".
Seulement, je n'ai pas le résultat escompté : si mes trois paramètres sont "rouge","vert" et "bleu" et que j'appelle trois fois "addOrUpdateUrlParam" , mon url ressemble à :
"http://something.com/mobiles.php?bleu=168"
et non: "http://something.com/mobiles.php?rouge=134&vert=18&bleu=168"
Je vous mets une partie de mon code si ce n'était pas assez clair:
Je vous remercie de votre réponse.
J'ai bien essayé de créer une fonction ( que j'ai appelé "finale") dans laquelle j’appelle plusieurs fois la fonction "addOrUpdateUrlParam" obtenue sur le sur le lien que j'ai transmis plus haut. J'ai fait ceci dans le but de créer un bouton qui lorsque j'aurai cliqué dessus, exécutera la fonction "finale".
Seulement, je n'ai pas le résultat escompté : si mes trois paramètres sont "rouge","vert" et "bleu" et que j'appelle trois fois "addOrUpdateUrlParam" , mon url ressemble à :
"http://something.com/mobiles.php?bleu=168"
et non: "http://something.com/mobiles.php?rouge=134&vert=18&bleu=168"
Je vous mets une partie de mon code si ce n'était pas assez clair:
<script>
function finale(rouge,vert,bleu){
addOrUpdateUrlParam('rouge',parseInt(rouge));
addOrUpdateUrlParam('vert',parseInt(vert));
addOrUpdateUrlParam('bleu',parseInt(bleu));
}
function addOrUpdateUrlParam(name, value)
{
var href = window.location.href;
var regex = new RegExp("[&\\?]" + name + "=");
console.log(href);
if(regex.test(href))
{
regex = new RegExp("([&\\?])" + name + "=\\d+");
window.location.href = href.replace(regex, "$1" + name + "=" + value);
}
else
{
if(href.indexOf("?") > -1)
window.location.href = href + "&" + name + "=" + value;
else
window.location.href = href + "?" + name + "=" + value;
}
}
</script>
<button type="buttont" onclick="finale(rouge,vert,bleu)";>Valider</button>
Je ne comprends pas pourquoi la fonction marche parfaitement pour les couleurs tandis qu'elle ne marche qu'une seule fois avec le texte alors que le code est similaire.
PS: je n'y connais rien en Javascript, l'erreur est sans doute évidente mais pas pour moi
Si par exemple je souhaite que le nom d'un fruit apparaisse dans l'url. Pour cela j'ai créé une unique zone de texte ou l’utilisateur peut y inscrire le nom du fruit qu'il souhaite. J’espérais alors que l'utilisateur puisse s'il le souhaite, changer de nom de fruit et que de la même façon qu'avec les couleurs, l'url change. C'est pour cette raison que je n'ai créé qu'une seule zone de texte.
Selon toi, quelle devrait être la forme de ton url ?
Donc