我想通过javascript做一些客户端校验,代码如下:
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="tt201010.aspx.cs" Inherits="tt201010" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<script language="javascript" type="text/javascript">
function Test()
{
alert("aaaa");
}
</script>
<table style="width: 425px; height: 267px">
<tr>
<td style="height: 26px;" colspan="2">
<asp:TextBox ID="txtDevelopName" runat="server" OnTextChanged="Test()"></asp:TextBox></td>
</tr>
</table>
</asp:Content>
我想在OnTextChanged事件调用Test(),上面代码提示有错误,说Test()方法没定义,应该怎么写?
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="tt201010.aspx.cs" Inherits="tt201010" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<script language="javascript" type="text/javascript">
function Test()
{
alert("aaaa");
}
</script>
<table style="width: 425px; height: 267px">
<tr>
<td style="height: 26px;" colspan="2">
<asp:TextBox ID="txtDevelopName" runat="server" OnTextChanged="Test()"></asp:TextBox></td>
</tr>
</table>
</asp:Content>
我想在OnTextChanged事件调用Test(),上面代码提示有错误,说Test()方法没定义,应该怎么写?
例如
.....
.....
<script type="text/javascript" language="javascript" src="../js/WMS7090_01.js">
</script>
</asp:Content>
不是母板也的问题 你这个OnTextChanged是服务器事件 而在cs文件中没有Test()方法 当然报错哦
<asp:TextBox ID="txtDevelopName" runat="server" onchange="Test()"></asp:TextBox>
写master里看看
if (!Page.IsPostBack)
{
txtDevelopName.Attributes.Add("onblur", "getFOBCost()");
}
我加了下面这句后,我的问题就可以解决了:
<script language="javascript" type="text/javascript">
document.aspnetForm.ctl00$ContentPlaceHolder1$txtDevelopName.onchange = btnAdd_clicked;
</script>
母板中的Form的名字由form1变成了aspnetForm,继承母板页面的textbox的名字由txtDevelopName变成了ctl00$ContentPlaceHolder1$txtDevelopName。不知道我上面这么写好不好,期待高人解答。
to lishijie910123(): 你的方法,应该可行,我一会去试试。
document.getElementById('<%=txtDevelopName.ClientID%>').onchange=....;
就行了.
中的OnTextChanged用错了.只要把它改为
<asp:TextBox ID="txtDevelopName" runat="server" onchange="Test()"></asp:TextBox>
就行了.跟在母版中查找控件是两回事.