Sorta只是搞乱了javascript并希望这会起作用..
使用asp.net文本框并尝试使用已启用的数学计算来更改已禁用的文本框的值。我想也许我正在连接,这就是 错误,但它甚至没有达到数学,直接从().value =跳到错误..
在我做任何事情之前,错误正在点击页面加载,我的按钮有:
<input type="button" onclick="chkMath()"/>
我也尝试了一个asp按钮但是没有用,所以这就是我现在所拥有的。
这是我的剧本:
<script type="text/javascript">
function chkMath() {
// cust id doesn't need variable
// var a = document.getElementById('<%=f0.ClientID%>').value;
var b = document.getElementById('<%=f1.ClientID%>').value;
var c = document.getElementById('<%=f2.ClientID%>').value;
var d = document.getElementById('<%=f4.ClientID%>').value;
var e = document.getElementById('<%=f5.ClientID%>').value;
var f = document.getElementById('<%=f6.ClientID%>').value;
var g = document.getElementById('<%=f8.ClientID%>').value;
var h = document.getElementById('<%=f9.ClientID%>').value;
var i = document.getElementById('<%=f11.ClientID%>').value;
var j = document.getElementById('<%=f12.ClientID%>').value;
document.getElementById('<%#=f3.ClientID%>').value = b - c;
document.getElementById('<%#=f7.ClientID%>').value = e + f;
document.getElementById('<%#=f10.ClientID%>').value = g + h;
document.getElementById('<%#=f13.ClientID%>').value = b - i;
document.getElementById('<%#=f14.ClientID%>').value = d - j;
}
</script>
使用getElementByID(&#39;&#39;);我在asp.net上找到的语法
无论如何不知道这里发生了什么,感谢任何帮助。
答案 0 :(得分:3)
<%#=
无效,这是一个ASP.NET错误;与JavaScript无关。
解析后ASP.NET看到的绑定表达式为=f3.ClientID
,导致表达式无效&#39; =&#39;&#34;。
答案 1 :(得分:1)
当你应该使用=
时,你正在使用#=应该是
document.getElementById('<%=f3.ClientID%>').value = b - c;
在数据绑定表达式中使用#。 =用于直接将内容注入到html输出中,这就是你想要做的事情
答案 2 :(得分:1)
ASP.NET Web表单中没有<%#=f3.ClientID%>
构造。 <%# something %>
用于数据绑定。
你想要的是<%= something %>
,它等同于
<% Response.Write(something)%>
所以从这些行中删除#
,它将按您的意愿工作。像这样:
document.getElementById('<%=f3.ClientID%>').value = b - c;
document.getElementById('<%=f7.ClientID%>').value = e + f;
document.getElementById('<%=f10.ClientID%>').value = g + h;
document.getElementById('<%=f13.ClientID%>').value = b - i;
document.getElementById('<%=f14.ClientID%>').value = d - j;