Modifier URL
Résolu/Fermé
EpiX
-
26 juil. 2020 à 15:41
jordane45 Messages postés 38367 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 janvier 2025 - 15 août 2020 à 21:48
jordane45 Messages postés 38367 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 janvier 2025 - 15 août 2020 à 21:48
A voir également:
- Modifier URL
- Modifier dns - Guide
- Lien url - Guide
- Modifier liste déroulante excel - Guide
- Comment modifier un pdf - Guide
- Modifier story facebook - Guide
3 réponses
jordane45
Messages postés
38367
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 janvier 2025
4 721
28 juil. 2020 à 08:35
28 juil. 2020 à 08:35
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; } }
jordane45
Messages postés
38367
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 janvier 2025
4 721
Modifié le 26 juil. 2020 à 16:01
Modifié le 26 juil. 2020 à 16:01
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>
11 août 2020 à 18:57
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
11 août 2020 à 20:24
12 août 2020 à 17:46
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.
12 août 2020 à 18:48
Selon toi, quelle devrait être la forme de ton url ?
12 août 2020 à 18:56
Donc