Modifier URL
Résolu/Fermé
EpiX
-
26 juil. 2020 à 15:41
jordane45 Messages postés 38469 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 22 avril 2025 - 15 août 2020 à 21:48
jordane45 Messages postés 38469 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 22 avril 2025 - 15 août 2020 à 21:48
Bonjour,
J'aimerai modifier les paramètres de mon URL pour pouvoir y accéder par la suite avec un programme arduino. J'ai pu trouver le code pour faire ce que je veux avec un paramètre. J'ai repris le code de la réponse la plus likée sur ce site : https://stackoverflow.com/questions/6899097/how-to-add-a-parameter-to-the-url
J'aimerai toutefois pouvoir faire la même chose mais avec plusieurs paramètres comme 'priceMin' mais aussi 'pricemax'...
J'aimerai modifier les paramètres de mon URL pour pouvoir y accéder par la suite avec un programme arduino. J'ai pu trouver le code pour faire ce que je veux avec un paramètre. J'ai repris le code de la réponse la plus likée sur ce site : https://stackoverflow.com/questions/6899097/how-to-add-a-parameter-to-the-url
J'aimerai toutefois pouvoir faire la même chose mais avec plusieurs paramètres comme 'priceMin' mais aussi 'pricemax'...
A voir également:
- Modifier URL
- Modifier dns - Guide
- Lien url - Guide
- Modifier liste déroulante excel - Guide
- Modifier story facebook - Guide
- Comment modifier un pdf - Guide
3 réponses
jordane45
Messages postés
38469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 avril 2025
4 741
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
38469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 avril 2025
4 741
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