2010-05-24 4 views
0

J'ai remarqué une chose étrange qui se passe sur mon application Web lorsque le serveur est sous de lourdes charges (je suis à distance sur Windows Server).La liste déroulante n'est pas enregistrée lorsque le formulaire est envoyé rapidement?

J'ai une liste déroulante qui est générée dynamiquement (côté serveur). Lorsque je fais une sélection et que j'appuie rapidement sur le bouton Soumettre pour indiquer ma sélection, la page suivante n'enregistre pas ma sélection mais si je la fais un peu plus lentement, elle le fera.

Je ne suis jamais tombé sur ça auparavant, a quelqu'un? Je sais que c'est un petit problème, mais il y a beaucoup d'utilisateurs "déclencheurs heureux", y compris moi ...

dois-je mettre un délai avant que le formulaire est soumis? Si je le fais, je ne peux que deviner la bonne quantité de temps.

Y at-il un problème sous-jacent avec mon application Web?

Merci à tous

Voici la page HTML en question: http://pastebin.com/cQjXbeeX

Répondre

2

Êtes-vous quoi que ce soit fait avec la valeur de cette liste déroulante? On dirait que vous rencontrez le scénario suivant ...

  1. L'utilisateur sélectionne dans la liste
  2. L'événement onchange met la valeur dans un champ caché
  3. La forme présente et la valeur du champ caché est stocké quelque part

Ceci expliquerait pourquoi vous pouvez soumettre le formulaire avant que la valeur ait "enregistré" - comme le soumettre se produit avant que l'onchange ait fait son truc. Si c'est le cas (et certainement pas), vous devez vérifier la valeur de la liste de sélection dans l'action subordonnée du formulaire, pour vous assurer qu'elle est correcte avant l'envoi.

Si vous ne pensez pas que c'est le cas, veuillez poster un exemple simple afin que les gens puissent écrire une réponse plus éclairée.

+0

C'est la chose étonnante! Il n'y a pas de javascript sur la page qui fait quoi que ce soit avec le formulaire. Seul un plugin JQuery pour résoudre le problème de png transparent sur IE - mais c'est tout. Sinon, comment cela pourrait-il arriver? Qu'est-ce qui génère la chaîne de post-requête et quand cela se produit-il? Je suppose que c'est le navigateur et il le fait quand le soumettre est pressé. – Abs

+0

J'ai mis en place la page en question ici: http://pastebin.com/cQjXbeeX – Abs

Questions connexes