我想用js判断datalist里的textbox输入,但是找不到textbox

来源:百度知道 编辑:UC知道 时间:2024/05/16 17:16:33
function aa() {
var tb=document.getElementById("<%=TextBox1.ClientID %>").value;
var a=/^[0-9]*[1-9][0-9]*$/;
if(!a.test(tb)){
alert("请输入正确的商品数量");
return false;
}
return true;
}
就是这样,说当前上下文中不存在名称“TextBox1”

楼主你把方法写到datalist里面,又好用又方便

<asp:testbox id="xx" onblur="aa(this)"/>(onblur="aa(this)有可能有红色波浪线不用管)

js再改成
function aa(obj) {
var tb=obj.value;
var a=/^[0-9]*[1-9][0-9]*$/;
if(!a.test(tb)){
alert("请输入正确的商品数量");
return false;
}
return true;
}

("<%=TextBox1.ClientID %>") 看看这句是否为空?

在数据控件中的服务器空间那样是找不到ID的。你得用数据控件的FindControl("controlID").ClientID

试试下面的代码
var t=document.getElementById("<%=datalist.ClientID%>");
var tb=t.rows[i].cells[j].document.getElementById("<%=TextBox1.ClientID %>").value

datalist里的textbox,你直接用<%=TextBox1.ClientID %>",肯定是不行~~
你的textbox是嵌套在datalist模板中,
你要首先获取datalist,然后才可以获取textbox
var dl = document.getElementById("<%=datalist1.ClientID %>");
var tb = dl.getElementsByName("textbox1");

<%= %>只适合调用变量