Avatar billede herchin Nybegynder
18. december 2003 - 10:34 Der er 3 kommentarer og
1 løsning

Access element.innerHtml from code behind

Problemet er, at jeg i min code behind ikke kan få fat i den innerHtml, der er skrevet i <div id ="txtNavn">
Der er ikke noget problem i, at sætte teksten i div-taget i page_load. Det handler altså bare om at få fat igen.

(Den grimme løsning)
Det jeg har forsøgt i nedenstående kode er, at kopiere teksten fra div feltet over i asp.net component, som er invisible, men javascript-funktionen fejler, og jeg har ikke løst til at løse problemet på denne måde.

********************************
<script language="javascript">

function CopyText()
{
  var text = document.getElementById("txtNavn").innerHTML;
  var elem = document.getElementById("txtText");
  elem.value="text";

  alert(document.getElementById(txtText.value));
}

</script>

<div onkeypress="CopyText()" runat="server" id="txtNavn" class="txtEditor" contentEditable="true" align="left" style="BORDER-RIGHT: thin solid; BORDER-TOP: thin solid; BORDER-LEFT: thin solid; BORDER-BOTTOM: thin solid">
</div>
<asp:TextBox id="txtText" runat="server" Visible="False"></asp:TextBox>
*********************************
Avatar billede medions Nybegynder
18. december 2003 - 10:37 #1
Har du prøvet sådan her?:

var text = document.formnavn.txtNavn.value

Det skulle gerne virke!

//>Rune
Avatar billede herchin Nybegynder
18. december 2003 - 10:51 #2
Ok, men der er bare et problem... Koden er lavet skrevet til en user control. Den user control bliver brugt på flere forms, så derfor vil koden ikke kende til den form.

Min linje burde altså se således ud:
var text = document.getElementById("DetailGroup1_txtGruppeNavn_txtNavn").value
Hvor DetailGroup1_txtGruppeNavn_ er genereret af .NET for, at der kan kendes forskel på de forskellige user controls.
Avatar billede nielsbrinch Nybegynder
18. december 2003 - 13:11 #3
Er det indholdet af txtText du vil have din codebehind til at få fingrene i?
Avatar billede herchin Nybegynder
18. december 2003 - 14:00 #4
Egentligt ikke... Det var faktisk tanken, at jeg ville have fat i txtNavn.innerHtml. Jeg fik det løst ved nedenstående kode:

Code behind page_load:
----------------------
string guid = System.Guid.NewGuid().ToString();
txtText.Attributes.Add("Title", guid);
txtNavn.Attributes.Add("onkeyup", "CopyText(this, '" + guid + "')");

formens html
------------------------
function CopyText(sourceElm, targetInputName)
{
  var elm;
  var i = 0;
  for(i = 0; i < document.all.length;i++)
  {
    elm = document.all[i];
    if (elm.title == targetInputName)
    {
      elm.value = sourceElm.innerHTML;
    }
  }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester