Validar Enter en Textbox

14/03/2006 - 01:22 por Giovanni | Informe spam
Saludos compañeros!

Estoy desarrolando una pagina web con visual basic .NET. Mi pregunta es la
siguiente:

Es posible validar en un textbox el evento 'keypress' cuando en usuario
presiona ENTER ?

Gracias por su tiempo y respuesta.
Giovanni

Preguntas similare

Leer las respuestas

#1 Luis Miguel Blanco
14/03/2006 - 23:40 | Informe spam
Hola Giovanni

Para controlar esta situación debes escribir una función en Javascript que
se ejecute cuando ocurra el evento onkeypress en el TextBox; dentro del
código de dicha función compruebas si el código de tecla pulsado es 13
(correspondiente a ENTER) y en caso afirmativo, realizas las acciones de
validación que necesites.

La función Javascript deberás asociarla al evento onkeypress del control
Textbox, de manera que dicho control se "entere" de cuándo se ha producido el
evento y ejecute la función.

Para ello dispones de dos técnicas que te explico a continuación:

La primera y más simple pasa por añadir directamente en el HTML del WebForm,
dentro de la etiqueta <HEAD>, el código Javascript, por ejemplo:

'///////////////////////////////////
<HEAD>


<script language="javascript">
function ComprobarCajaTexto1()
{
if (event.keyCode == 13)
{
alert(document.Form1.TextBox1.value);
}
}
</script>
</HEAD>


<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
'///////////////////////////////////

A continuación pasamos al code-behind del WebForm, en el que supongamos que
tenemos un TextBox con el id TextBox1, y en el evento Load, establecemos la
asociación entre dicho control y la función Javascript anterior, para que se
ejecute al lanzarse el evento onkeypress del TextBox. Esto lo hacemos así:

'///////////////////////////////////
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Me.TextBox1.Attributes.Add("onkeypress", "ComprobarCajaTexto1()")
End Sub
'///////////////////////////////////

Ahora pasemos a la otra técnica que te decía, que consiste en no escribir
nada de código Javascript directamente en el HTML del WebForm, sino generarlo
desde el code-behind. Esto puede ser interesante en el caso de que necesites
generar código cliente para el navegador de forma dinámica, que cambie según
determinadas situaciones.

En primer lugar, añadimos un nuevo control al WebForm.

'///////////////////////////////////
<asp:TextBox id="TextBox2" runat="server"></asp:TextBox>
'///////////////////////////////////

Seguidamente pasamos al code-behind del formulario, y en el evento Load
generamos el código de una función JavaScript mediante un objeto
StringBuilder; después registramos(generamos) dicho código en la página
mediante el método Page.RegisterClientScriptBlock(), y asociamos este código
con el control de igual forma que para el anterior TextBox. Aquí tienes un
ejemplo de lo que te he comentado:

'///////////////////////////////////
Imports System.Text


Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load


' generar desde code-behind el código Javascript
Dim sJS As StringBuilder = New StringBuilder
sJS.Append("<script language=""javascript"">" & ControlChars.CrLf)
sJS.Append("function ComprobarCajaTexto2()" & ControlChars.CrLf)
sJS.Append("{" & ControlChars.CrLf)
sJS.Append("if (event.keyCode == 13)" & ControlChars.CrLf)
sJS.Append("{" & ControlChars.CrLf)
sJS.Append("alert('Valor caja texto 2: ' + document.Form1.TextBox2.value);"
& ControlChars.CrLf)
sJS.Append("}" & ControlChars.CrLf)
sJS.Append("}" & ControlChars.CrLf)
sJS.Append("</script>")

' registrar en el WebForm el código Javascript anterior
Me.RegisterClientScriptBlock("CodJS", sJS.ToString())
' asociar el evento onkeypress del siguiente TextBox
' con el código Javascript generado desde este evento Load
Me.TextBox2.Attributes.Add("onkeypress", "ComprobarCajaTexto2()")
End Sub
'///////////////////////////////////

Es muy importante que importes el espacio de nombres System.Text, ya que
contiene la clase StringBuilder.

Bien, pues esto es todo, espero que alguna de estas propuestas te sirva para
lo que necesitas.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Giovanni" wrote:

Saludos compañeros!

Estoy desarrolando una pagina web con visual basic .NET. Mi pregunta es la
siguiente:

Es posible validar en un textbox el evento 'keypress' cuando en usuario
presiona ENTER ?

Gracias por su tiempo y respuesta.
Giovanni



Respuesta Responder a este mensaje
#2 Giovanni
15/03/2006 - 18:04 | Informe spam
Gracias Luis !

Ahora mismo voy a colocar el codigo a mi programa.

Atte.
Giovanni

"Luis Miguel Blanco" escribió
en el mensaje news:
Hola Giovanni

Para controlar esta situación debes escribir una función en Javascript que
se ejecute cuando ocurra el evento onkeypress en el TextBox; dentro del
código de dicha función compruebas si el código de tecla pulsado es 13
(correspondiente a ENTER) y en caso afirmativo, realizas las acciones de
validación que necesites.

La función Javascript deberás asociarla al evento onkeypress del control
Textbox, de manera que dicho control se "entere" de cuándo se ha producido


el
evento y ejecute la función.

Para ello dispones de dos técnicas que te explico a continuación:

La primera y más simple pasa por añadir directamente en el HTML del


WebForm,
dentro de la etiqueta <HEAD>, el código Javascript, por ejemplo:

'///////////////////////////////////
<HEAD>


<script language="javascript">
function ComprobarCajaTexto1()
{
if (event.keyCode == 13)
{
alert(document.Form1.TextBox1.value);
}
}
</script>
</HEAD>


<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
'///////////////////////////////////

A continuación pasamos al code-behind del WebForm, en el que supongamos


que
tenemos un TextBox con el id TextBox1, y en el evento Load, establecemos


la
asociación entre dicho control y la función Javascript anterior, para que


se
ejecute al lanzarse el evento onkeypress del TextBox. Esto lo hacemos así:

'///////////////////////////////////
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Me.TextBox1.Attributes.Add("onkeypress", "ComprobarCajaTexto1()")
End Sub
'///////////////////////////////////

Ahora pasemos a la otra técnica que te decía, que consiste en no escribir
nada de código Javascript directamente en el HTML del WebForm, sino


generarlo
desde el code-behind. Esto puede ser interesante en el caso de que


necesites
generar código cliente para el navegador de forma dinámica, que cambie


según
determinadas situaciones.

En primer lugar, añadimos un nuevo control al WebForm.

'///////////////////////////////////
<asp:TextBox id="TextBox2" runat="server"></asp:TextBox>
'///////////////////////////////////

Seguidamente pasamos al code-behind del formulario, y en el evento Load
generamos el código de una función JavaScript mediante un objeto
StringBuilder; después registramos(generamos) dicho código en la página
mediante el método Page.RegisterClientScriptBlock(), y asociamos este


código
con el control de igual forma que para el anterior TextBox. Aquí tienes un
ejemplo de lo que te he comentado:

'///////////////////////////////////
Imports System.Text


Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load


' generar desde code-behind el código Javascript
Dim sJS As StringBuilder = New StringBuilder
sJS.Append("<script language=""javascript"">" & ControlChars.CrLf)
sJS.Append("function ComprobarCajaTexto2()" & ControlChars.CrLf)
sJS.Append("{" & ControlChars.CrLf)
sJS.Append("if (event.keyCode == 13)" & ControlChars.CrLf)
sJS.Append("{" & ControlChars.CrLf)
sJS.Append("alert('Valor caja texto 2: ' +


document.Form1.TextBox2.value);"
& ControlChars.CrLf)
sJS.Append("}" & ControlChars.CrLf)
sJS.Append("}" & ControlChars.CrLf)
sJS.Append("</script>")

' registrar en el WebForm el código Javascript anterior
Me.RegisterClientScriptBlock("CodJS", sJS.ToString())
' asociar el evento onkeypress del siguiente TextBox
' con el código Javascript generado desde este evento Load
Me.TextBox2.Attributes.Add("onkeypress", "ComprobarCajaTexto2()")
End Sub
'///////////////////////////////////

Es muy importante que importes el espacio de nombres System.Text, ya que
contiene la clase StringBuilder.

Bien, pues esto es todo, espero que alguna de estas propuestas te sirva


para
lo que necesitas.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Giovanni" wrote:

> Saludos compañeros!
>
> Estoy desarrolando una pagina web con visual basic .NET. Mi pregunta es


la
> siguiente:
>
> Es posible validar en un textbox el evento 'keypress' cuando en usuario
> presiona ENTER ?
>
> Gracias por su tiempo y respuesta.
> Giovanni
>
>
>
Respuesta Responder a este mensaje
#3 Luis Miguel Blanco
15/03/2006 - 18:42 | Informe spam
Hola Giovanni

No hay de qué, celebro que te pueda servir 8-)
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Giovanni" wrote:

Gracias Luis !

Ahora mismo voy a colocar el codigo a mi programa.

Atte.
Giovanni

"Luis Miguel Blanco" escribió
en el mensaje news:
> Hola Giovanni
>
> Para controlar esta situación debes escribir una función en Javascript que
> se ejecute cuando ocurra el evento onkeypress en el TextBox; dentro del
> código de dicha función compruebas si el código de tecla pulsado es 13
> (correspondiente a ENTER) y en caso afirmativo, realizas las acciones de
> validación que necesites.
>
> La función Javascript deberás asociarla al evento onkeypress del control
> Textbox, de manera que dicho control se "entere" de cuándo se ha producido
el
> evento y ejecute la función.
>
> Para ello dispones de dos técnicas que te explico a continuación:
>
> La primera y más simple pasa por añadir directamente en el HTML del
WebForm,
> dentro de la etiqueta <HEAD>, el código Javascript, por ejemplo:
>
> '///////////////////////////////////
> <HEAD>
>
>
> <script language="javascript">
> function ComprobarCajaTexto1()
> {
> if (event.keyCode == 13)
> {
> alert(document.Form1.TextBox1.value);
> }
> }
> </script>
> </HEAD>
>
>
> <asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
> '///////////////////////////////////
>
> A continuación pasamos al code-behind del WebForm, en el que supongamos
que
> tenemos un TextBox con el id TextBox1, y en el evento Load, establecemos
la
> asociación entre dicho control y la función Javascript anterior, para que
se
> ejecute al lanzarse el evento onkeypress del TextBox. Esto lo hacemos así:
>
> '///////////////////////////////////
> Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
> System.EventArgs) Handles MyBase.Load
> Me.TextBox1.Attributes.Add("onkeypress", "ComprobarCajaTexto1()")
> End Sub
> '///////////////////////////////////
>
> Ahora pasemos a la otra técnica que te decía, que consiste en no escribir
> nada de código Javascript directamente en el HTML del WebForm, sino
generarlo
> desde el code-behind. Esto puede ser interesante en el caso de que
necesites
> generar código cliente para el navegador de forma dinámica, que cambie
según
> determinadas situaciones.
>
> En primer lugar, añadimos un nuevo control al WebForm.
>
> '///////////////////////////////////
> <asp:TextBox id="TextBox2" runat="server"></asp:TextBox>
> '///////////////////////////////////
>
> Seguidamente pasamos al code-behind del formulario, y en el evento Load
> generamos el código de una función JavaScript mediante un objeto
> StringBuilder; después registramos(generamos) dicho código en la página
> mediante el método Page.RegisterClientScriptBlock(), y asociamos este
código
> con el control de igual forma que para el anterior TextBox. Aquí tienes un
> ejemplo de lo que te he comentado:
>
> '///////////////////////////////////
> Imports System.Text
>
>
> Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
> System.EventArgs) Handles MyBase.Load
>
>
> ' generar desde code-behind el código Javascript
> Dim sJS As StringBuilder = New StringBuilder
> sJS.Append("<script language=""javascript"">" & ControlChars.CrLf)
> sJS.Append("function ComprobarCajaTexto2()" & ControlChars.CrLf)
> sJS.Append("{" & ControlChars.CrLf)
> sJS.Append("if (event.keyCode == 13)" & ControlChars.CrLf)
> sJS.Append("{" & ControlChars.CrLf)
> sJS.Append("alert('Valor caja texto 2: ' +
document.Form1.TextBox2.value);"
> & ControlChars.CrLf)
> sJS.Append("}" & ControlChars.CrLf)
> sJS.Append("}" & ControlChars.CrLf)
> sJS.Append("</script>")
>
> ' registrar en el WebForm el código Javascript anterior
> Me.RegisterClientScriptBlock("CodJS", sJS.ToString())
> ' asociar el evento onkeypress del siguiente TextBox
> ' con el código Javascript generado desde este evento Load
> Me.TextBox2.Attributes.Add("onkeypress", "ComprobarCajaTexto2()")
> End Sub
> '///////////////////////////////////
>
> Es muy importante que importes el espacio de nombres System.Text, ya que
> contiene la clase StringBuilder.
>
> Bien, pues esto es todo, espero que alguna de estas propuestas te sirva
para
> lo que necesitas.
>
> Un saludo
> Luis Miguel Blanco
> http://www.dotnetmania.com
>
>
> "Giovanni" wrote:
>
> > Saludos compañeros!
> >
> > Estoy desarrolando una pagina web con visual basic .NET. Mi pregunta es
la
> > siguiente:
> >
> > Es posible validar en un textbox el evento 'keypress' cuando en usuario
> > presiona ENTER ?
> >
> > Gracias por su tiempo y respuesta.
> > Giovanni
> >
> >
> >



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida