begin process at 2010 02 09 20:37:45
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ASP.Net

 > COMMENT FORCER LE FOCUS SUR UN CONTRÔLE D'UNE PAGE CLIENT DEPUIS LE SERVEUR

COMMENT FORCER LE FOCUS SUR UN CONTRÔLE D'UNE PAGE CLIENT DEPUIS LE SERVEUR


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :ASP.Net Classé sous :focus, control, forcer, server, setfocus Niveau :Débutant Date de création :09/09/2005 Date de mise à jour :09/09/2005 13:10:54 Vu :7 696

Auteur : SuperBouly

Ecrire un message privé
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 Description

Contrairement à ce que je pensais, on peut forcer le focus sur un contrôle d'une page client depuis le serveur, à l'aide de cette astuce.
SI je veux par exemple que des contrôles(textbox ou DropdownList), qui provoquent un aller-retour serveur, gardent le focus.
Pour que ce focus se déplace sur le contrôle suivant, c'est à peine plus compliqué.
Il doit y avoir d'autres application, mais d'aucuns diront que je découvre la lune ...

Source

  • 'Il faut d'abord une <form> contenant des contrôles serveur p. ex.:
  • <form id="Form1" method="post" runat="server">
  • <asp:TextBox id="TextBox1" runat="server" AutoPostBack="true"></asp:TextBox><br>
  • <asp:TextBox id="TextBox2" runat="server" AutoPostBack="true"></asp:TextBox><br>
  • <asp:DropDownList id="DropDownList1" runat="server" Width="122px" AutoPostBack="true"/>
  • </form>
  • 'on remarque les"AutoPostBack="true""
  • 'Ensuite la sub gérant les évènements:
  • Private Sub Determin_Sender(ByVal sender As System.Object, ByVal e As System.EventArgs)
  • Handles DropDownList1.SelectedIndexChanged, TextBox1.TextChanged, TextBox2.TextChanged
  • 'du code serveur éventuellement-----
  • '------------------------------------
  • 'et cette ligne donne l'ID du sender:
  • envoyeur = Request.Form("__EVENTTARGET").ToString
  • 'on peut rajouter ici les aménagements souhaités:
  • 'par exemple :
  • if envoyeur="TextBox1" then
  • envoyeur="textbox2" 'pour envoyer le focus automatiquement sur la 2e boîte
  • end if
  • End Sub
  • 'On aura pris soin de déclarer "envoyeur" comme : Public envoyeur as String
  • 'enfin on insère le script-client avant la balise </head> :
  • function forcefocus()
  • {
  • document.Form1.<%=envoyeur%>.focus();
  • }
  • 'il reste à déclencher l'exécution avec :
  • <body MS_POSITIONING="GridLayout" onload="javascript:forcefocus()">
'Il faut d'abord une <form> contenant des contrôles serveur p. ex.:

<form id="Form1" method="post"  runat="server">

<asp:TextBox id="TextBox1" runat="server" AutoPostBack="true"></asp:TextBox><br>
<asp:TextBox id="TextBox2" runat="server" AutoPostBack="true"></asp:TextBox><br>
<asp:DropDownList id="DropDownList1" runat="server" Width="122px"  AutoPostBack="true"/>

</form>
 'on remarque les"AutoPostBack="true""

'Ensuite la sub gérant les évènements:

    Private Sub Determin_Sender(ByVal sender As System.Object, ByVal e As System.EventArgs)
 Handles DropDownList1.SelectedIndexChanged, TextBox1.TextChanged, TextBox2.TextChanged
        'du code serveur éventuellement-----

        '------------------------------------
        'et cette ligne donne l'ID du sender:

        envoyeur = Request.Form("__EVENTTARGET").ToString

	'on peut rajouter ici les aménagements souhaités:
	'par exemple :
	if envoyeur="TextBox1" then
		envoyeur="textbox2" 'pour envoyer le focus automatiquement sur la 2e boîte
	end if 

    End Sub

'On aura pris soin de déclarer "envoyeur" comme : Public envoyeur as String 

'enfin on insère le script-client avant la balise </head> :
	function forcefocus()
	{
	document.Form1.<%=envoyeur%>.focus();
	}
'il reste à déclencher l'exécution avec :

	<body MS_POSITIONING="GridLayout" onload="javascript:forcefocus()">

 Conclusion

Il est possible de faire beaucoup plus compliqué pour déterminer qui aura le focus, car on dispose de la sub-serveur "Determin_Sender" pour le faire. On peut faire des tests, et décider l'envoi du focus selon la valeur choisie par exemple.
Si ça peut servir...
Bye


 Historique

09 septembre 2005 13:10:54 :
rien oublié?

 Sources du même auteur

Source .NET (Dotnet) LISTER LES TABLES D'UNE BASE DE DONNÉES
Source avec Zip Source .NET (Dotnet) AJOUT DE DYNAMIQUE DE TEXTBOX DANS LE FOOTER D'UN DATAGRID

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) CUSTOM DATEPIKER DÉRIVANT DE COMPOSITECONTROL par fredzool
Source avec Zip UN MODULE POUR APPRENDRE SQL par Elmarzougui
Source avec Zip Source .NET (Dotnet) BOUTON QUI EMPECHE LE MULTI CLIC AVANT LA FIN DU TRAITEMENT.... par fredzool
Source avec Zip Source .NET (Dotnet) BOUTON AVEC CSS ET USERCONTROL WITH EVENT par fredzool
Source avec Zip Source .NET (Dotnet) CAPTCHA ASP.NET ET JAVASCRIPT par vaan3713

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) DATAGRID AVEC RECHERCHE ALPHABÉTIQUE par gatita_dev
Source .NET (Dotnet) RECUPERER L'INSTANCE D'UN CONTROL À PARTIR DE SON CLIENTID par jesusonline
Source .NET (Dotnet) LISTER TOUS LES CONTROLS D'UNE PAGE par Coolpix08
Source .NET (Dotnet) VARIABLES GET,POST,SERVER COMME EN PHP par poppyto
Source avec une capture Source .NET (Dotnet) ASP.NET 2.0 - USER CONTROL D'AFFICHAGE DE LA MÉTÉO VIA LE WE... par fabrice69

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

CommandName sur Server Control [ par lops91 ] Bonjour, Dans l'entreprise ou je suis, il existe un server control qui permet de créer des boutons personnalisé. Tout fonctionne très bien jusqu'au jo ASP.Net Server Control - Enregistrement d'un fichier javaScript [ par billou_13 ] Bonjour,Je m'en remet à vous pour m'aider à résoudre un petit problème.Je développe actuellement une librairie de "Server Control" pour une appli Web. UpdatePanel contenant un control Wizard [ par grapevine ] Bonjour , Je viens de constater un phénomène assez bizare :Avec la premiere version de Ajaxtoolkit (1.0) , mettre un wizard (et ses wizard steps) dans Desactiver un control [ par catamenia ] Bonjour, J'ai deux combobox dans un update panel. Lors d'une sélection d'un item dans le premier combobox, la page recharge le second combobox avec d sql server 2005 [ par akila167 ] bonjour, est ce que quelcun peut me conseiler un livre pour apprendre sql server 2005? je suis débutante et c'est pour mon stage! merci. Upload fichier ASP.NET Sous Win 2003 Server [ par gymdev ] [i][b]Bonjour, J'ai un problème en asp.net sur l'upload des fichiers de plus de 4Mb. J'ai déjà augmenter la taille de MaxRequestLength en 20Mb , En User Control dynamique et events [ par naej94 ] Bonjour à tous, Je tiens a préciser que je ne maitrise pas trop .NET pour le web. Je cherches à ajouter dynamiquement des controles à une pages, et Active Server Pages error 'ASP 0126' [ par helleringer ] Bonjour, J'ai le plaisir de vous retrouver pour vous demander encore de la l'aide. Ayant déjà poster une demande et encore un grand merci pour les ex control postback [ par sorgal88 ] Bonjour, J'aimerais faire un postback sur un control, sans renvoyer toute la page,et du coup sans redéclencher les pageload,pageunload etc... En fait chaine de connaxion sql server [ par noussawes ] je veux savoir comment afficher la chaine de connexion au base de données sql server de puis mon programme c# .


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,967 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales