asp:TextBox不与javascript合作
我正在尝试填充两个按钮事件的文本框asp:TextBox不与javascript合作,javascript,html,css,asp.net,Javascript,Html,Css,Asp.net,我正在尝试填充两个按钮事件的文本框 <div class="numbers-row"> <div onclick="var result = document.getElementById('qty'); var qty = result.value; if( !isNaN( qty ) && qty > 0 ) result.value--;return false;" class="dec qtybutton"><i cl
<div class="numbers-row">
<div onclick="var result = document.getElementById('qty'); var qty = result.value; if( !isNaN( qty ) && qty > 0 ) result.value--;return false;" class="dec qtybutton"><i class="fa fa-minus"> </i></div>
<asp:TextBox ID="qty" runat="server" class="qty" title="qty" maxlength="12" name="qty"></asp:TextBox>
<div onclick="var result = document.getElementById('qty'); var qty = result.value; if( !isNaN( qty )) result.value++;return false;" class="inc qtybutton"><i class="fa fa-plus"> </i></div>
</div>
图像包含两个按钮。Onclick事件中,减号按钮使值递减,加号按钮使值递增,但该值不反映在文本框中。但是如果我像
那样使用html文本框,它工作得很好如果我回忆正确,ASP.NET将添加额外的标识符以确保ID是唯一的。在客户端上呈现时,ID
看起来更像ctl00$ContentPlaceHolder1$CustomUserControl1$qty
。您可以在文档中阅读有关此命名约定的更多信息
要解决您的问题,您可以:
- 如果您知道
id
以qty
结尾,则使用CSS属性选择器,如document.querySelector('[id$=“$qty”]')
- 在渲染时使用准确的ID(更脆弱)
- 更改ASP.NET命名约定
如果我没有记错,ASP.NET将添加额外的标识符以确保ID是唯一的。在客户端上呈现时,ID
看起来更像ctl00$ContentPlaceHolder1$CustomUserControl1$qty
。您可以在文档中阅读有关此命名约定的更多信息
要解决您的问题,您可以:
- 如果您知道
id
以qty
结尾,则使用CSS属性选择器,如document.querySelector('[id$=“$qty”]')
- 在渲染时使用准确的ID(更脆弱)
- 更改ASP.NET命名约定
Asp.Net更改服务器控件的ID,以确保网页上元素的ID唯一。如果要使用相同的ID,请在asp:TextBox中使用clientMode=“Static”。或者,您可以通过使用获取javascript中的输入引用
document.getElementById('<%=qty.ClientID%>')
document.getElementById(“”)
Asp.Net更改服务器控件的ID,以确保网页上元素的ID唯一。如果要使用相同的ID,请在asp:TextBox中使用clientMode=“Static”。或者,您可以通过使用获取javascript中的输入引用
document.getElementById('<%=qty.ClientID%>')
document.getElementById(“”)
您知道它与输入
标记一起工作正常。生产中文本框的id
属性是什么?它是否预先添加了任何其他信息?否。文本框不包含任何其他信息。您知道它与input
标记一起工作正常。生产中文本框的id
属性是什么?它是否预先添加了任何其他信息?否。文本框不包含任何其他信息。还可以查看web表单控件上的clientmode=“Static”
,也可以查看web表单控件上的clientmode=“Static”
。。。如果答案有帮助的话,你可以接受。欢迎。。。如果答案有用,你可以接受。