Afficher un message
Vieux 04/05/2008, 21h19   #6
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: cgi, form et valeur par défaut

Le 04/05/2008 12:48, Une Bévue a écrit :
>>
>> Si j'ai bien compris, tu avais envie que la valeur demandée dans la
>> nouvelle page soit écrasée par celle saisie par l'utilisateur sur la
>> page précédente ?

>
> oui histoire de donner un feedback à l'utilisateur du genre "j'ai bien
> compris votre commande, vous voulez que j'affiche la page de man XXX"...


C'est *ton* interprétation. L'interprétation du navigateur au moment de
faire la requête POST, c'est « j'envoie une requête POST avec comme
paramètre 'search=eruby' » ; l'interprétation du serveur est « j'ai
reçu une requête, je renvoie la réponse » ; enfin l'interprétation du
navigateur est « je reçois une page HTML contenant un input de type
'text', de nom 'search', et de valeur 'man' ». Je précise, car ça ne
semble pas être clair pour toi, que la requête est oubliée depuis
longtemps. Qui plus est, il n'est pas censé savoir non plus qu'il s'agit
de « la même page » (c.-à-d. la même URL), ni que parmi tous les input
possibles de type 'text' et de nom 'search' il doit ignorer la valeur
'man' qu'on lui a passée.

>> Le brouteur fait une requête en passant certains paramètres, puis le
>> serveur envoie une page en retour. Ce que je trouve curieux, c'est que
>> tu souhaites que le navigateur décide de lui-même que la page retournée
>> par le serveur est incorrecte, et qu'il prenne l'initiative de changer
>> le code.

>
> ben non, ce qui me trouble :
>
> je suis toujours dans la page '/man/index.rbx'


NON !

Tu as quitté la page, qui s'appelait peut-être '/man/index.rbx', pour en
charger *une autre*, qui s'appelle peut-être aussi '/man/index.rbx'. Il
n'y a strictement aucune raison pour que le navigateur fasse un truc
particulier quand la nouvelle page porte le même nom que l'ancienne. À
moins bien sûr que tu n'aies lu dans la norme qu'il faille faire quelque
chose de spécial dans ce cas *très* particulier.

Le serveur a toute latitude pour choisir la valeur par défaut en
fonction des paramètres qui lui sont passés, je ne vois pas pourquoi on
irait rajouter une bidouille dans le navigateur pour l'en empêcher !

D'ailleurs, quel serait l'intérêt de mettre comme valeur par défaut de
l'input celle qui est déjà affichée ? Au contraire, dans la plupart des
cas c'est celle qui présente le moins d'intérêt, puisqu'on l'a déjà !

> mais bon, la solution donnée par "giganet" me convient très bien.


Ben oui.

> en fait, je pense que l'astuce donnée par "giganet"


Euh... appelle-ça une astuce si tu veux, moi ça me semble une méthode
normale.

> est systématiquement
> utilisée par les gens qui conçoivent des sites avec form (quand on reste
> sur la même page), sinon, on perdrait l'info entrée précédemment...


Tu veux dire de prendre comme valeur par défaut celle de la page déjà
affichée ? Moi je verrais plutôt :
- mettre la valeur "suivante" dans le cas où une recherche séquentielle
peut avoir un sens ;
- mettre la valeur "la plus proche sémantiquement" quand c'est approprié
(par exemple, mettre le synonyme le plus proche du mot courant pour un
dictionnaire des synonymes) ;
- etc.

> et, comme le rechargement de la page ne me plait pas, je vai regarder
> une solution où le cgi-ruby file à javascript le nouveau contenu (la
> page de man) et javascript s'occuperait de l'affichage via le DOM, mais
> c'est une autre histoire...


Ah, là en effet, c'est autre chose. Dans ce cas tu pourras vraiment
considérer que la page ne change pas, ce qui n'est certainement pas le
cas avec une requête POST.
  Réponse avec citation
 
Page generated in 0,07070 seconds with 9 queries