Får fejl i javascript ved klik på knap i asp.net
Hej,Aner ikke om jeg skal have mit spørgsmål her eller i asp.net gruppen ........men det er javascripten jeg har problemer med så forsøger her :-)
Først min sideopbygning;
Jeg har en MasterPage hvor jeg includer en js fil. Så har jeg min Content side, hvor jeg har selve indholdet af min side.
Jeg ønsker en javascript funktion der set scroll position (til bunden af en div) og efterfølgende sætter fokus på en textbox på siden.
Min funktion ser ud som følgende:
function SetScrollPosition() {
var div = document.getElementById('<%=divMessages.ClientID %>');
div.scrollTop = div.scrollHeight;
var text = document.getElementById('<%=txtMessage.ClientID %>');
text.focus();
text.value = "";
}
Da jeg inkluderede den i js filen - fik jeg følgende fejl, hver gang jeg loadede siden: null is null or not an object. Googlede at det var fordi at funktionen blev loaded før siden. Jeg tog den så ind i MasterPage filen i stedet for - men den kunne så ikke finde divMessages og txtMessages (som jo også ligger i Contet siden).....Nu har jeg så puttet den ind i Contentsiden.
Nu får jeg så en anden fejl. Hver gang jeg skriver noget i textfeltet og klikker på knappen får jeg følgende fejl:
Error: Sys.WebForms.PageRequestManagerServerErrorException: Indholdet af divMessages kan ikke hentes, fordi det ikke er en konstantværdi.
Nogen der kan hjælpe mig - med at oversætte koden til JQuery - så jeg kan få den ind i min js fil imellem $(document).ready(function() { } - så den først bliver loadet når siden er oprettet?
Og ikke mindst hjælpe mig til at få den til at køre koden rigtigt - uden fejl, når jeg klikker på knappen :-)
Min kode:
aspx siden:
<script type="text/javascript">
function SetScrollPosition() {
var div = document.getElementById('<%=divMessages.ClientID %>');
div.scrollTop = div.scrollHeight;
var text = document.getElementById('<%=txtMessage.ClientID %>');
text.focus();
text.value = "";
}
</script>
<asp:UpdatePanel ID="upanChat" runat="server">
<Triggers>
</Triggers>
<ContentTemplate>
<table cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<div id="divMessages" runat="server" class="chatMessagesItemsCell">
<asp:Literal Id="litMessages" runat="server" />
</div>
</td>
<td> </td>
</tr>
</table>
<table cellpadding="0">
<tr>
<td style="text-align: right">
<asp:Label ID="lblMessage" runat="server" Text="<%$ Resources:Resource, Message %>"></asp:Label> : 
</td>
<td>
<asp:TextBox Id="txtMessage" runat="server" MaxLength="100" Width="500px" />
</td>
<td>
Smileys
</td>
<td>
<asp:Button Id="btnSend" CssClass="button" runat="server" Text="<%$ Resources:Resource, Send %>" OnClick="BtnSend_Click" />
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
Button koden (og nej har intet som helst andet kode på siden udover denne;
protected void BtnSend_Click(object sender, EventArgs e)
{
if (txtMessage.Text.Length > 0)
{
litMessages.Text += txtMessage.Text;
litMessages.Text += "<br />";
divMessages.InnerHtml = divMessages.InnerHtml + txtMessage.Text + "<br /><br />";
Page.ClientScript.RegisterStartupScript(typeof(Page), "script", "SetScrollPosition()", true);
}
}
Mvh
simsen :-)
