Foros del Web » Programación para mayores de 30 ;) » .NET »

problema con javascript en codigo vb.

Estas en el tema de problema con javascript en codigo vb. en el foro de .NET en Foros del Web. Hola, hace tiempo estaba buscando un javascritp que me ayudara a controlar la cantidad de caracteres q' el usuario ingresa en un textbox con la ...
  #1 (permalink)  
Antiguo 08/08/2007, 15:07
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 10 meses
Puntos: 0
Pregunta problema con javascript en codigo vb.

Hola, hace tiempo estaba buscando un javascritp que me ayudara a controlar la cantidad de caracteres q' el usuario ingresa en un textbox con la propiedad multiline, y lo encontre en esta pagina, funciona bien al controlar la cantidad de caracteres y le permite ver al usuario un contador de los caracteres que faltan a medida que el va ingresando el texto requerido en el campo.

Aqui les dejo el codigo que me ayudo hacer esto:
<HTML>
...
<BODY >
...

<SCRIPT language="JavaScript" type="text/JavaScript">
function cambiar_num_caract(caracteres)
{
document.getElementById('caract1').innerHTML = caracteres;
caract_tserv=caracteres;
}

function count_caract(obj)
{
cant = obj.value.length;
rest = caract_tserv - cant;
document.getElementById('caract1').innerHTML = rest;
if(rest < 0)
{
obj.value = obj.value.substr(0, caract_tserv);
document.getElementById('caract1').innerHTML = 0;
}
}

</SCRIPT>
<form >
...
<P> Caracteres: <strong><span id="caract1">&nbsp;</span></strong> <input type="hidden" size="3" name="ok"></P>
<asp:textbox id="txtDescripcion" runat="server" Width="341px" Height="77px" TextMode="MultiLine"></asp:textbox>

...
</form>

<SCRIPT language="JavaScript" type="text/JavaScript">
// Actualizar desde un inicio el numero de caract max
cambiar_num_caract(200)
</SCRIPT>
</BODY>
</HTML>

Y en el load de la página:

private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
txtDescripcion.Attributes.Add("onKeyDown", "count_caract(this)");
txtDescripcion.Attributes.Add("onKeyUp", "count_caract(this)");
}
}

ya hasta ahi todo bien, lo unico que yo cambie para acoplar esto a mi necesidad fue esta parte del codigo que yo la pongo en vb:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

If Not Me.IsPostBack Then

txt_titulo.Attributes.Add("onKeyDown", "count_caract(this)")
txt_titulo.Attributes.Add("onKeyUp", "count_caract(this)")
End if
end Sub

y cada vez que en la pagina se hace un postback en la pagina se desaparece en contador que deberia mostrarse cuando el usuario ingresa los datos, no entiendo porque si alguien me puede ayudar.

Gracias!
  #2 (permalink)  
Antiguo 12/08/2007, 20:49
Avatar de mabarcau  
Fecha de Ingreso: mayo-2005
Mensajes: 317
Antigüedad: 19 años
Puntos: 0
Re: problema con javascript en codigo vb.

Cita:
Iniciado por Rodro Ver Mensaje
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
txt_titulo.Attributes.Add("onKeyDown", "count_caract(this)")
txt_titulo.Attributes.Add("onKeyUp", "count_caract(this)")
End if
end Sub

cada vez que en la pagina se hace un postback en la pagina se desaparece en contador que deberia mostrarse cuando el usuario ingresa los datos, no entiendo porque si alguien me puede ayudar.

Gracias!
Tu mismo estas indicando que cuando no se haga postback, no se agreguen los atributos, mueves estas lineas:
txt_titulo.Attributes.Add("onKeyDown", "count_caract(this)")
txt_titulo.Attributes.Add("onKeyUp", "count_caract(this)")

fuera del if.

slds.
  #3 (permalink)  
Antiguo 13/08/2007, 11:20
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: problema con javascript en codigo vb.

Gracias por contestar mabarcau pero no sirvio movi esas dos lineas fuera del if y sigue desapareciendose el contador cada vez q' se hace un postback
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:26.