2010-06-11 2 views
0

m'a donné le pseudo-code suivant afin d'obtenir la forme qui a le focus et laisser seulement la forme que je veux soumettre:VB.net touche Entrée

<script> var currentForm = document.forms[0];</script> 
<form ...><input onfocus="currentForm = this.form;"/></form> 
<form ...><input onfocus="currentForm = this.form;"/></form> 

function globalKeyPressed(event) { 
    if (event.keyCode == ENTER) { // This is pseudo-code, check how to really do it 
    currentForm.submit(); 
    } 
} 

Comment pourrais-je faire pour VB. net car VB.net n'accepte pas System.Windows.Forms.KeyPressEventArgs. Je voulais également ajouter que je ne peux pas avoir plusieurs formulaires sur mon site car cela perturbe la connexion. Donc, mes deux 'formulaires' séparés ne sont en réalité qu'un loginview, puis un asp: textbox et un asp: bouton par eux-mêmes sans un formulaire.

+0

S'agit-il de winforms ou de webforms? En d'autres termes, écrivez-vous une application de bureau ou une application Web? –

+0

.... plusieurs formes sur mon site web ... n asp: textbox et asp: bouton par .... Je suppose que le web –

+0

Ouais, c'est une application web – BioXhazard

Répondre

2

Ce qui précède ressemble à une fonction javascript effectuée du côté client, et non à un événement côté serveur. Si tel est le cas, il n'y aura pas de différence dans VB.NET car il utilisera également Javascript comme langue côté client.

Tout ce que vous devez faire est de brancher un événement click côté client sur votre bouton et exécuter le code que vous avez donné, en changeant à (hors du haut de ma tête)

if (event.keyCode == 13){ 
    //Submit form. 
} 

Vous pouvez ajouter le clic côté client en utilisant attributes.add sur l'événement Page_Load de votre forme, quelque chose comme:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     textbox1.attributes.add("onKeyUp", "globalKeyPressed") 
End Sub 

Ce serait alors faire appeler l'événement globalKeyPressed() de votre zone de texte lorsque la clé est pressé. L'événement globalKeyPressed() entraînera alors l'envoi du formulaire en cours.

+0

Mais à quoi ressemblerait le code? – BioXhazard

+0

Je ne comprends pas. Où devrait aller la deuxième partie? Et je continue d'obtenir une erreur pour ces balises de formulaire. – BioXhazard

+0

@Andrew - Les formulaires Web ASP.Net vous permettent seulement d'avoir un formulaire principal. Vous ne pouvez pas mettre vos propres petits formulaires sur la page. –

0

Avec ASP.Net, la page entière publie toujours, généralement de retour à elle-même. Votre code VB.Net doit gérer les événements des contrôles serveur que vous avez placés sur la page, comme l'événement click du bouton ou l'événement ViewChanged de LoginView.

Questions connexes