Domanda

Ho un controllo letterale sulla pagina (con alcuni dati su di esso).voglio accedervi in ​​JavaScript e voglio inserirvi del testo.per favore dimmi come posso accedere al controllo letterale in Javascript.(sto usando asp.net)

Il mio codice in javascript (ma non funziona):

 lths = document.getElementById("<%= lblhs.ClientID %>");
 lths.innerHTML = 'this is text line"
È stato utile?

Soluzione

Puoi trovarlo utilizzando document.getElementById('<%= myControl.ClientID %>') oppure se stai utilizzando .NET 4.0 puoi impostare direttamente il campo id in modo che venga estratto da javascript.In alternativa puoi usare selettori di jquery.Il tuo codice non funziona perché il controllo Literal non viene visualizzato come elemento, ma solo come testo statico.Puoi posizionare un intervallo attorno ad esso o utilizzare un controllo Etichetta, che viene visualizzato come intervallo.

Altri suggerimenti

Non penso che tu possa accedere a un controllo letterale dal tuo codice client javascript perché un controllo letterale rende semplicemente il suo valore puro senza tag circostanti.Quindi non hai davvero un elemento che potresti ottenere con id.

Ciò che potresti fare è cambiare il controllo letterale in un controllo etichetta.Per impostazione predefinita, viene visualizzato come tag span html.In questo modo puoi selezionarlo sul lato client.

Un'altra opzione potrebbe essere quella di scrivere un tag span o div nel controllo letterale sul lato server in questo modo:

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

sul client è possibile selezionare l'elemento utilizzando:

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

Giusto per escludere l'ovvio (poiché nessun altro lo ha menzionato), questo è un errore di sintassi in JS:

lths.innerHTML = 'this is text line"

Non sono sicuro se si sia trattato di un errore di battitura qui o se l'hai copiato dal tuo codice.Puoi usare entrambi " O ' ma non entrambi per circondare una stringa.Inoltre, dovresti utilizzare il punto e virgola finale come migliore pratica (sebbene non sia obbligatorio).

lths.innerHTML = 'this is text line';

IL <%= myControl.ClientId %> questa tecnica non funziona quando si utilizzano le pagine master.Potrebbe essere il caso.Quello che puoi fare è:Prendi un campo nascosto.Salva l'ID dell'etichetta nel campo nascosto.Accedi all'attributo value per ottenere l'ID e quindi utilizzarlo document.getElementByID('HiddenField.Value') per ottenere il controllo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top