0
votes

Meilleur moyen d'annoncer QueryString à URL lors d'une case à cocher lors de l'enregistrement de la case à cocher?

Je fais un formulaire de liste de contrôle et je suis actuellement capable d'ajouter la valeur des cases sélectionnées à l'URL dans je me sens une manière inefficace et que le problème principal est que l'état de la case à cocher ne sauve aucun utilisateur ne peut pas voir Ce qu'ils ont vérifié ou décoché.

Ceci est le code HTML P> xxx pré>

Ceci est le script pour faire l'URL P>

Laisser forme = document.getElementyID ("carform") p> xxx pré>

Donc, par exemple si Kia et Honda ont été sélectionnés, l'URL serait P>

/inventory?make=kia&make=honda


0 commentaires

4 Réponses :


1
votes
var makes=[];
...
for (var i=0;i<checkboxes.length;i++) {
  if (checkboxes[i].checked) makes.push(checkboxes[i].value);
}
...
url+='&makes='+makes.join(',');
This will give you a comma delimited list; you can string split it on the server side.

0 commentaires

0
votes

Je pense que vous ne devez pas définir tous les paramètres de l'URL comme marque = ..., mais avec $ {vals} = coché . Ensuite, vous pouvez la lire facilement avec PHP et vérifiez simplement les noms définis, mais vous devrez définir un nom pour vos chackboxes.

Désolé pour mon anglais approximatif, je suis suisse et parle français.


0 commentaires

0
votes

Si vous avez accès à une langue côté serveur, comme PHP, utilisez-le pour vérifier l'URL et cocher automatiquement les cases lorsque la page se charge. Quelque chose sur ces lignes:

window.onload = () => {
  for (const el of checkboxes) {
    // Check the URL's params:
    // From link below
    const urlParams = new URLSearchParams(window.location.search);
    const myParam = urlParams.get(el.value);

    if (myParam != null) {
      el.checked = true;
    }
  }
}


2 commentaires

J'utilise Nodejs / Express.js et EJS, savez-vous à quoi ressemblerait la solution équivalente, puis-je simplement transmettre les valeurs du côté serveur dans le modèle EJS, puis faire quelque chose de similaire? Et ce type de solution fonctionne-t-il Quand un utilisateur décoque? C'est aussi la façon dont j'ai annexé à l'URL une bonne solution?


Je ne suis pas trop familier avec Express, mais dans le petit bricolage, je sais que vous pouvez passer des variables à EJS et faire des choses de cette façon. Quelque chose comme res.Render ('page.ejs', {kia: true, bmw: true}); (ne me cite pas sur cela). Voir ceci: Stackoverflow.com/a/14201112/10549827 . - Votre code pourrait être optimisé un peu, mais comme pour votre méthode réelle de définition de l'URL, c'est plutôt bien. Il y a plus de solutions modernes ( Stackoverflow.com/a/58922710/10549827 ) mais les utiliser réduira votre support de navigateur. Votre est solide et devrait bien fonctionner. Peut-être essayer certains pour des boucles .



1
votes

Vous devez jeter un coup d'œil sur URLSECHPARAMS . En utilisant, vous pouvez faire quelque chose comme ceci: xxx


0 commentaires