Forum > ASP.NET 3.x > Språk - C#
hejsan, jag har fått lite problem med .NETs inputbox.
function copyData(from)
{
document.aspnetForm.txtCity.value = 'sdfsdfsdf';
}
funkar bra på
<input id="txtCity" type="text" />
men funkar inte på
<asp:TextBox ID="txtCity" name="txtCity" runat="server"></asp:TextBox>
hur får jag den att funka på en .NET's inputbox?
| Skriv utBeror antagligen på att ASP.NET renderar ett annat Id än det som du har skrivit in. Kolla i källa koden så ska du se att Id´t på din input inte är txtCity som du har skrivit in utan Id´t börjar med något helt annat och slutar på txtCity.
Det du kan göra är att antingen hårdkoda in Id´t, dock så kommer du behöva ändra det hårdkodade Id´t så fort som du flyttar på din TextBox. Skulle rekomendera dig att istället kolla upp ClientID som du kan använda dig av.
Om vi utgår från att din copyData ligger i en javascriptfil så är det bara att skapa en variabel som har txtCity.ClientID som värde, något liknande detta:
<script type="text/javascript">
var txtCity = '<%= txtCity.ClientID %>';
</script>
Sedan är det bara att ändra din kod till något liknande detta:
function copyData(from) {
document.getElementById(txtCity).value = 'sdfsdfsdf';
}