gpt4 book ai didi

c# - 我的 JavaScript 有什么问题吗? (C#/ASP.NET)

转载 作者:行者123 更新时间:2023-11-28 16:35:21 24 4
gpt4 key购买 nike

这是我的 JavaScript:

<script type="text/javascript">
function onholdev(index) {
var chk = document.getElementById('<%=grdCons.Rows[' + index + '].FindControl("chkHold").ClientID %>');
var txt = document.getElementById('<%=grdCons.Rows[' + index + '].FindControl("txtReason").ClientID %>');


if (chk.checked == true) {
txt.disabled = false;
}
else {
txt.disabled = true;
txt.value = "";
}
}
</script>

“index”变量来 self 的 GridView 的 RowDataBound 事件,如下所示:

  CheckBox chkHold = ((CheckBox)e.Row.FindControl("chkHold"));
chkHold.Attributes.Add("onchange", "onholdev(" + e.Row.RowIndex + ")");

但是,我在函数的第一行中收到“字符串文字中的字符过多”(以 var chk 开头)。这是为什么?

最佳答案

您正在混合客户端和服务器端脚本...您不能这样做。这是在服务器端执行的:

grdCons.Rows[' + index + '].FindControl("chkHold").ClientID

但是你在客户端调用它并尝试传递 ID,这不是你能做的事情,看看你渲染的 JavaScript 函数,这会更清楚。相反,只需使用表的 ID,然后您就可以通过这种方式找到您的控件,例如:

var row = document.getElementById("grdCons").rows[index];
var inputs = row.getElementsByTagName("input");
//then filter by ID match, class, whatever's easiest and set what you need here

关于c# - 我的 JavaScript 有什么问题吗? (C#/ASP.NET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4275811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com