Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp:TextBox不与javascript合作_Javascript_Html_Css_Asp.net - Fatal编程技术网

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 ) &amp;&amp; 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 ) &amp;&amp; qty > 0 ) result.value--;return false;" class="dec qtybutton"><i class="fa fa-minus">&nbsp;</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">&nbsp;</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”
。。。如果答案有帮助的话,你可以接受。欢迎。。。如果答案有用,你可以接受。