如何从javascript更改asp:textbox的值

我有一个asp:文本框

 

当用户点击“取消”按钮时,我想通过使值仅为“”来擦除该文本框中的任何内容。 如果它是类型文本的输入字段,我可以在javascript中执行此操作:

 document.getElementById('NewName').value= ""; 

但我不能这样做,因为它是一个asp:文本框。

当你的asp:textbox呈现给UI时,是的,它只是一个text类型的输入字段。 唯一可能是问题的部分是ID,但可以使用ClientIDMode设置:

  

呈现给:

  

因此您使用的JavaScript应该可以完美运行。

呈现给你可以使用的 ,唯一的复杂因素是id=""属性被重写,但你可以这样做:

 document.getElementById("<%= NewName.ClientID %>").value = ""; 

假设此脚本与文本框位于同一页面中。 如果这是在引用的那么您将需要使用元素ID的全局脚本变量。

尝试将文本框的ClientIDMode设置为Static

这样javascript应该能够找到与ASPX相同的ID。

这是一个完整的测试页面

 <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>     




我有同样的问题。 一旦我记得在Ids上有一个关于asp.net的破坏,我就解决了它。

在我的aspx中,我有:

  

更进一步,在gridview内(因此使用“class”而不是“id”),我有一个有一个asp:TextBox的列:

  

一旦我回忆起id错误问题,这只是改变我引用文本框的方式的一种情况: