ASP.NET - Asignar un valor a un label desde Java Scrip

 
Vista:

Asignar un valor a un label desde Java Scrip

Publicado por Oscar (7 intervenciones) el 01/06/2011 18:54:39
Gracias por su tiempo

Estoy aprendiendo Java Scrip en VB.NET 2008 y quiero pasar los valores desde java script
a un formulario WEB con botones asp:button lo que si logre fue extraer valores desde java Script de un Asp TextBox con la funcion document.getElementById('TextBox1').value; y me funciono pero a la hora de devolver un valor desde java script a un label no me funciona envio el codigo a continuacion

<script type ="text/jscript">


function Evaluar()
{

var x = 0;

// ESTA FUNCION SI ME FUNCIONA BIEN
x = document.getElementById('TextBox1').value;

switch (Number(x))
{
case 1:
alert('UNO');
break;
case 2:
alert('DOS');
break;
case 3:
alert('TRES');
break;
case 4:
alert('CUATRO');
break;
case 5:
alert('CINCO');
break;
default:
alert('OTROS ' + x);
break;
}

// Aca es donde no me funciona
document.getElementByName('LblResp').value = number(x);
document.getElementById('LblResp').value = 'prueba';

}

</script>

este es el boton del ejemplo y tambien el llamado de la funcion de java scrip

<td class="style2">
<asp:Button OnClientClick = "Evaluar()" ID="BtnIfMutiple" runat="server"
Text="Condicion Multiples" Width="150px" />
</td>

este es el label del ejemplo

<td class="style1">
<asp:Label ID="LblResp" runat="server" Text="Label"></asp:Label>
</td>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Asignar un valor a un label desde Java Scrip

Publicado por Sebastian Cruz (35 intervenciones) el 02/06/2011 06:11:19
Puede que javascript no este encontrando tu control y por eso no te funciona correctamente el mismo, ya que ASP al compilar la pagina que creaste modifica los nombres de los elementos asp para convertirlos en elementos html, por ejemplo un boton asp se llama con la etiqueta
<asp:button id="boton" .../>
pero al momento de compilar el resultado para mostrar al cliente, este control se transforma en su version html quedando algo asi
<input type="button" id=asp_boton ....../>
por lo tanto para poder referenciar un elemento tal cual se llamara en el cliente la mayoria de los controles tienen una propiedad llamada ClientID la cual te devolvera un string con el nombre que adopte el control en el usuario. Ahora bien como se relaciona esto con javascript? Como javascript se ejecuta en el lado del cliente los elementos que busque para realizar sus funciones seran los del html resultante, por lo cual en nuestro ejemplo el valor que tendria que buscar para acceder al control propiamente dicho es mediante el metodo

document.getElementByName('asp_boton').value

Pero como tu no sabes que nombre le pondra ASP a tu instancia de boton lo que se hace es colocar una referencia al ID de cliente resultante, por lo cual tu codigo javascript quedaria

document.getElementByName('<%=boton.ClientID%>').value

Con esta instruccion estaria buscando el elemento boton, pero con la salvedad de que usaria el nombre que designe ASP al momento de renderizar la pagina en el browser del usuario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de roger

Asignar un valor a un label desde Java Scrip

Publicado por roger (311 intervenciones) el 02/06/2011 14:24:12
como dice Sebastian es mas seguro para que los nombres de los controles se resuelvan correctamente en el javascript. Aun asi te puede estar funcionando (y de hecho creo que te esta funcionando con el textbox), pero con los label es distinto porque se renderizan en html como una etiqueta Span que no tiene la propiedad value. Creo que te funcionaría con la propiedad innerHTML
document.getElementById("label").innerHTML = "valor";

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar