Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

pasar el valor de un control a una funcion en javascript

2,052 views
Skip to first unread message

geroni...@gmail.com

unread,
Mar 7, 2007, 1:25:12 PM3/7/07
to
Hola:
Aqui de nuevo, con otra duda, quiero enviar en el parametro de una
funcion de javascript el valor de un control de ASP.NET, y una
variable declarada como publica en el codigo behaind.
la llamada a la funcion la realizo en evento onChange dentro del
Codigo html de la pagina
<asp:TextBox ID="txt1" runat="server" Text='50'
onChange="cambiarvalor(txt2.Text, renglon)" ></asp:TextBox>

El Detalle es como enviar el valor contenido en el control txt2.text y
en la variable publica renglon

la funcion en javascript recibe estos dos parametros.

Alguna sugerencia, se los agradeceria mucho., saludos

Atte:
Gpe Geronimo

Luis Ruiz Pavón

unread,
Mar 8, 2007, 2:57:05 AM3/8/07
to
Hola geronimo:

Acceder como tal desde javascript a una variable del codebehind no puedes
acceder pero si puedes hacer que cuando se redenrize la págian en el cliente
se representa el valor de la variable:

onChange="cambiarvalor(txt2.Text, <%=renglon%>)" Imagina que renglo vale 20

Y cuando se renderice en cliente se verá:

onChange="cambiarvalor(txt2.Text, 20)"

espero haberme explicado. Si tienes alguna duda más me lo comentas:

Salu2

--
MCP
Optima Global Solutions
Web: http:www.dotnetalia.com
Blog: http://geeks.ms/blogs/lruiz

Jose A. Fernandez

unread,
Mar 8, 2007, 8:31:44 AM3/8/07
to
Hola Geronimo
Agregando a lo que te comenta Luis

1) Agregar un evento en el webcontrol.
Si queres agregar al Texbox del asp.net un EVENTO JS (jacvascript)


<asp:TextBox ID="txt1" runat="server" Text='50'

onChange="cambiarvalor(txt2.Text, renglon)" ....
No es asi... te debe dar error al colocar
onChange=""
(atributo no valido)
Es porque ese atributo NO EXISTE como tal en el webcontrol, ya que
es un atributo del Input tipo Text, o sea un contrl HTML (que es el en
el cual se renderiza en el cliente un texbox de asp.net) o sea recien
cuando esta en el cliente, cuando se envia al navgeador enviara un
control HMTL

Como se agrega este evento o atributo JS??
Por codebehind
Ejemplo:
TextBox1.Attributes.Add("onChange", "cambiarvalor('ejemplo',
20);")
y alli si aparecera en el cliente como un llamada a una funcion js
en el evento onChange

2) Ahora bien hay que armar como te comenta Luis lso parametros
Pero como ahora estas armando directamente en el codebehind no
tendras problmeas, deberias concatenar de la mejor forma
Dinos que debe ir en cambiarvalor(param1, param2) y lo tramamos de
armar
por ejemplo:
param1: valor del textbox1 actualmente en cliente y
param2: una variable
Quedaria algo asi:
TextBox1.Attributes.Add("onChange", "cambiarvalor(this.value, "
& renglon & ");")


Espero que te sirva de ayuda o guia
_____________________
Jose A. Fernandez

On 8 mar, 04:57, Luis Ruiz Pavón <luis_ruiz_pa...@hotmail.com> wrote:
> Hola geronimo:
>
> Acceder como tal desde javascript a una variable del codebehind no puedes
> acceder pero si puedes hacer que cuando se redenrize la págian en el cliente
> se representa el valor de la variable:
>
> onChange="cambiarvalor(txt2.Text, <%=renglon%>)" Imagina que renglo vale 20
>
> Y cuando se renderice en cliente se verá:
>
> onChange="cambiarvalor(txt2.Text, 20)"
>
> espero haberme explicado. Si tienes alguna duda más me lo comentas:
>
> Salu2
>
> --
> MCP
> Optima Global Solutions
> Web: http:www.dotnetalia.com
> Blog:http://geeks.ms/blogs/lruiz
>

geroni...@gmail.com

unread,
Mar 8, 2007, 10:45:36 AM3/8/07
to
Hola buenos dias
como comentaba anteriormente, tengo los controles textbox y la
variable, pero el control lo tengo dentro de un editItemTemplate de un
gridview, intente agregar el atributo al Textbox que esta contenido
dentro del gridview.
(TextBox1.Attributes.Add("onChange", "cambiarvalor('ejemplo', 20);").
El codigo es el siguiente:
Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.GridViewCommandEventArgs) Handles
GridView1.RowCommand
If e.CommandName = "Edit" Then
Dim iRow As Integer = e.CommandArgument
CType(Me.GridView1.Rows(iRow).FindControl("txt2"),
TextBox).Attributes.Add("onChange", "cambiarvalor(AQUI EN DONDE QUIERO
PASAR LOS PARAMETROS")
End If
End Sub

pero me manda un error al hacer click en el boton edit del gridview,
(Object reference not set to an instance of an object.)

Alguna opcion viable para realizar lo anterior,

Saludos y que pasen excelente dia.

Atte:
Gpe. Geronimo

> > > Gpe Geronimo- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -


0 new messages