Plusieurs forms dans une page ? Ou comment changer le bouton par défaut ?

Résolu
smoitry Messages postés 69 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 26 juillet 2007 - 24 avril 2006 à 15:46
smoitry Messages postés 69 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 26 juillet 2007 - 25 avril 2006 à 08:39
Bonjour à tous !


Je n'ai fait que quelques essais en asp.net 1.1, jamais d'appli complète, pas eu le temps ... J'ai fait beaucoup d'ASP classique, et je suis tombé sur un os en voulant me mettre sérieusement à l'asp.net en voulant réécrire un site actuel, histoire de profiter des nouvelles fonctionnalités pour l'étendre. L'os, c'est là : il m'arrivait bien souvent d'avoir plusieurs formulaires sur une page web.


Exemple : sur une page d'accueil, un cadre en haut de la page pour ouvrir une session (deux textbox login et password, avec un bouton login), un autre cadre plus bas pour souscrire à une newsletter (un textbox pour l'email et un bouton pour souscrire).


Si je reproduis tout ça dans une page aspx, tant que tout le monde va consciensieusement cliquer avec sa souris sur le bon bouton, tout va bien. Mais ça se corse quand on complète la case et on confirme en tapant sur la touche "entrée". Là, c'est le bouton par défaut qui est envoyé, grosso modo le premier bouton submit de la page. Ou pour faire simple : je tape mon email dans le textbox pour souscrire à une newsletter, et j'appuie sur entrée. Là c'est le bouton login du haut de la page qui est envoyé, et qui m'incendie en me disant que mon login est erroné ...


Comment m'en sortir ???


Merci par avance !


Stéphane


P.S. : Pour exemple : je parle de la page d'accueil du site http://www.aeroclub-entzheim.com/ qui est actuellement en asp classique, et que je voudrais migrer en présentation identique en asp.net ...

5 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
25 avril 2006 à 00:33
Bonjour,

Dans ASP.net 2, les Panel possedent la propriété DefaultButton ;) pour du 1.1 il fallait ecrire soit meme son js.


<HR>
Cyril - MVS - MCP
3
tikrimi Messages postés 192 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 9 mars 2007 1
24 avril 2006 à 16:14
Bonjour,

Je pense qu'il y a juste à positionner en Javascript le focus sur le bon bouton quand l'utilisateur entre sur une zone de saisie particulière.

TiK - MCAD.NET
http://bonnevault.net/cs/blogs/tikrimi
http://www.objectif-services.com
0
smoitry Messages postés 69 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 26 juillet 2007
24 avril 2006 à 16:22
Comment faire ? Car si l'utilisateur entre dans une zone de texte, le focus est dans la fameuse zone, pas sur un bouton submit ...
0
smoitry Messages postés 69 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 26 juillet 2007
24 avril 2006 à 17:30
Bon ben après avoir bricolé dans tous les sens, je pense avoir trouvé une solution qui m'énerve par son côté "bricolo" mais que je vais devoir adopter : je passe par un javascript pour définir ou vider la propriété "disabled" du bouton qui va avec chaque textbox, en utilisant les évênements onfocus et onblur.

Grosso modo ça donne ça dans le code de la page : (dans le Page_Load je définis Button1.Enabled et Button2.Enabled à false)


<%
@
Page
Language="C#"
AutoEventWireup="true"
CodeFile="Default.aspx.cs"
Inherits="_Default" %>

<!DOCTYPE
html
PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
>
<head
runat="server">
<title>Page sans titre
</title>
<script
type="text/javascript"
language="javascript">
<!--

function disable(b)
{
b.disabled =
"disabled";
}

function enable(b)
{
b.disabled =
"";
}
-->

</script>
</head>

<form
id="form1"
runat="server"
OnFocus="alert('Focus');">

Case 1 :

Case 2 :

</form>

</html>

Voilà ... ça m'énerve mais ça évitera que le mauvais bouton ne soit cliqué ... Si jamais quelqu'un a une autre solution je suis preneur ...

A+

Stéphane
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
smoitry Messages postés 69 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 26 juillet 2007
25 avril 2006 à 08:39
Jesusonline, je savais que tu étais un pro ! C'est exactement ce qu'il me fallait !!!

Je te remercie pour ton aide !

A+

Stéphane
0
Rejoignez-nous