web-dev-qa-db-fra.com

Dégradation des filtres / sélections en l'absence de javascript

J'ai une petite question.

Comment dégradez-vous gracieusement certains filtres?

Exemple,

Avec ajax, vous pouvez avoir une sélection d'état, puis une sélection de ville en dessous qui montrerait les villes de l'État sélectionné. La ville sélectionnée serait actualisée en fonction de l'état sélectionné. Ensuite, vous auriez un bouton d'envoi pour quand le formulaire devait être soumis.

Mais que faire s'il n'y a pas de javascript? Affichez-vous un bouton "rafraîchir" dont le seul but est de mettre à jour les filtres?

1
Jerry Saravia

Malheureusement, la seule option est un formulaire soumis après la sélection. Je recommanderais une combo-box avec un bouton "soumettre" à proximité. Ensuite, la page suivante se chargerait avec une nouvelle liste basée sur la sélection précédente de l'utilisateur. Gardez les listes courtes cependant. Si vous devez présenter un grand nombre d'options, vous pouvez envisager des boutons radio ou des cases à cocher.

Je ne sais pas quel langage de programmation vous utilisez pour pouvoir vous fournir un exemple de code. Je code moi-même PHP. Faites-moi savoir si je peux vous aider.

MODIFIER : Il y a toujours <iframe>...: /

1
Just Plain High

Sans Javascript, vous pouvez utiliser le schéma suivant:

  1. L'utilisateur entre dans la ville (à partir de la liste ou de la saisie manuelle) et soumet
  2. Vérifications du serveur s'il y a des doublons .
    S'il y en a, allez à la page 2
    autre
    a) définir l'État
    b) aller à la page 3

Dans la plupart des cas, la procédure ne prendra probablement qu'une seule étape (le nombre de doublons n'est pas si important).

Interaction

0
Alexey Kolchenko

L'attitude de "perfectionnement progressif" dictera quelque chose dans le sens de ceci:

  1. Toutes les options (villes) sont disponibles. OU: L'entrée Ville est en texte libre.
  2. Si JS est activé, JS filtre les options de ville ou modifie l'entrée de ville selon les besoins. Il peut également effectuer des validations initiales côté client.
  3. Le serveur effectue les validations, puis la page est actualisée avec les erreurs mises en évidence, le cas échéant.
0
omri