begin process at 2012 02 08 18:47:25
  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 :9 447

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) GUESTBOOK AVEC GRIDVIEW par DanMor498
Source avec Zip CHECKED DROPDOWNLIST par fredzool
Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW WITH TREEVIEW AND CALLBACK par fredzool
Source avec Zip APPELLER UN WEBSERVICE DEPUIS JAVASCRIPT par fredzool
Source avec Zip Source .NET (Dotnet) MONEY TEXTBOX WITH EMBEDED JAVASCRIPT par fredzool

 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


Appels d'offres

Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,811 sec (4)

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