我使用第一个母版页选择了一个母版页和一个网页表单。
在这个webform中,我拿了文本框和按钮。按钮的OnClientClick属性设置为validate()
我拿了一个JScript.js文件,我编写了以下函数:
function validate() {
var no = document.getElementById('<%=TextBox1.ClientID %>').value;
if (isNaN(no)) {
alert('not a number.');
}
}
在default.aspx页面中,我写了文本框,按钮代码如下
function validate() {
var no = document.getElementById('<%=TextBox1.ClientID %>').value;
if (isNaN(no)) {
alert('not a number.');
}
}
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" onclientclick="validate()" Text="Button" />
所以我的问题是,由于我在文本框中写入非数字编号,因此无法显示警报消息。
答案 0 :(得分:1)
您不能在js文件中使用asp .net绑定语法。
这将在你的js文件中呈现相同,并且不包含你的TextBox1ClientId:
var no = document.getElementById('<%=TextBox1.ClientID %>').value;
将客户端ID从您的aspx页面作为参数传递给validate方法,或者将您的javascript函数嵌入到您的aspx中。
答案 1 :(得分:0)
您可以在控件中添加clientIDMode =“Static”。
<asp:TextBox ID="TextBox1" runat="server" clientIDMode="Static"></asp:TextBox>
<asp:Button ID="Button1" runat="server" clientIDMode="Static" onclick="Button1_Click" onclientclick="validate()" Text="Button" />
或者如果您想使其达到项目级别,只需在Web配置文件中添加该行
即可<pages clientIDMode="Static"></pages>
在<system.web>
内。