Pregunta

He conseguido un control literal en la página (con algunos datos sobre ella). quiero acceder a él en javascript y quiere poner un poco de texto en él. por favor dígame cómo puedo acceder al control literal en Javascript. (Estoy usando asp.net)

Mi código en javascript (pero no de trabajo):

 lths = document.getElementById("<%= lblhs.ClientID %>");
 lths.innerHTML = 'this is text line"
¿Fue útil?

Solución

Se puede encontrar usando document.getElementById('<%= myControl.ClientID %>') o si está utilizando .NET 4.0 se puede establecer directamente el campo id a ser tirado por el javascript. Alternativamente, puede utilizar de jQuery selectores . El código no está funcionando debido a que el control literal no hace como un elemento, simplemente texto estático. Se puede colocar un lapso de alrededor de ella, o utilizar un control de etiqueta, lo que hace como un intervalo para usted.

Otros consejos

No creo que se puede acceder a un control literal de su código de cliente javascript porque un control literal simplemente hace que su valor puro sin ninguna etiqueta circundantes. Así que realmente no tiene un elemento que se puede conseguir por id.

Lo que pudo para que está cambiando el control literal a un control de etiqueta. Esto hace como una etiqueta span html por defecto. Al igual que se puede seleccionar en el lado del cliente.

Otra opción sería escribir un lapso o etiqueta div en su control literal en el lado del servidor de la siguiente manera:

myLiteral.Text = "<div id=\"myDiv\">Some Text here</div>"

en el cliente puede seleccionar el elemnt mediante el uso de:

var myDiv = document.getElementById('myDiv');

Sólo para descartar lo obvio (ya que nadie más lo mencionó), esto es un error de sintaxis en JS:

lths.innerHTML = 'this is text line"

No estoy seguro si esto fue un error de escritura aquí, o si se ha copiado desde el código. Puede utilizar cualquiera " o ' pero no tanto para rodear una cadena. También, se debe utilizar la terminación de punto y coma como la mejor práctica (aunque no es necesario).

lths.innerHTML = 'this is text line';

La técnica <%= myControl.ClientId %> no funciona cuando está utilizando páginas maestras. Ese podría ser el caso. Lo que puede hacer es: Tomar un campo oculto. Guardar el ID de la etiqueta en el campo oculto. Acceder al atributo de valor para obtener el ID y luego usar document.getElementByID('HiddenField.Value') para obtener el control.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top