有没有办法创建重置按钮来清除asp格式的文本字段中的所有文本?当用户点击重置按钮时,他们输入的所有文本都将被清除,并且可以在该区域中输入文本。
答案 0 :(得分:3)
据我所知,Asp.Net没有提供此类重置功能。 我们可以像这样实现重置
btnReset.Attributes.Add("onClick", "document.forms[0].reset();return false;");
或者 喜欢这个
<input type='button' id='resetButton' value='Reset' onclick='theForm.reset();return false;'/>
或OnClientclick
的asp.net按钮使用此theForm.reset();return false;
答案 1 :(得分:2)
在按钮单击方法中,将所有textbox.text.length值设置为0.要么逐个执行,这是一种简单的方法,要么通过获取页面上所有类型文本框的控件来执行此操作,这是一点点有点复杂,但可能更少打字,取决于文本框的数量。绝对更易于维护。
private void ChangeBtn_Click(object sender, EventArgs e)
{
foreach(Control c in Page.Controls)
{
if (c.Controls.Count > 0)
{
foreach(Control c2 in c.Controls)
{
if (c2.GetType().ToString() == "System.Web.UI.WebControls.TextBox")
{
myspan.InnerHtml = ((TextBox)c2).Text;
((TextBox)c2).Text = ""; //or ((TextBox)c2).Text.Length = 0;
}
}
}
}
}
http://msdn.microsoft.com/en-us/library/20zys56y(v=vs.90).aspx
答案 2 :(得分:2)
为Click
控件创建Button
事件,并使用以下代码:
foreach (Control control in Page.Controls)
{
if (control is TextBox)
{
TextBox txt = (TextBox)control;
txt.Text = "";
}
}
这将为您节省一些时间来清除网络表单中的所有文本框。
答案 3 :(得分:2)
使用Jquery最简单的方法来查找任何类型的控件,并且不会有回发事件。
$('input[type=text], textarea')
使用foreach循环清除值。
答案 4 :(得分:2)
尝试创建一个带复位的按钮,并在单击事件中写入ClearInputs(Page.Controls);和事件将调用此方法。
protected void Button2_Click(object sender, EventArgs e)
{
ClearInputs(Page.Controls);
}
void ClearInputs(ControlCollection ctrls)
{
foreach (Control ctrl in ctrls)
{
if (ctrl is TextBox)
((TextBox)ctrl).Text = string.Empty;
ClearInputs(ctrl.Controls);
}
}
答案 5 :(得分:0)
请注意
btnReset.Attributes.Add("onClick", "document.forms[0].reset();return false;");
不能用于清除回发的页面,即如果文本框的值为“Silly me”并且已经回发,则此代码将重置为回发值,即“愚蠢的我”。
解决方法是重新发布带有已清除值的页面 - 尝试以下代码(它对我有效)
OnClientClick="document.location.href=document.location.href;"
将重新加载包含已清除值的页面...
答案 6 :(得分:0)
我的页面中有多种输入类型(TextBox,DropDownList和CheckBox),所以这是我将其全部重置的方法
<asp:Panel>
,用于包装我的输入内容BtnClear_Click
代码
Default.aspx
<asp:Panel ID="PanelReport" runat="server">
...
<asp:TextBox ID="fldSpeedoMula" runat="server"></asp:TextBox>
<asp:DropDownList ID="ddlPlateNo" runat="server" CssClass="form-control"></asp:DropDownList>
<asp:CheckBox ID="cbCard" runat="server" />
<asp:CheckBox ID="cbCash" runat="server" />
<asp:Button ID="BtnClear" runat="server" Text="Clear" CssClass="button" OnClick="BtnClear_Click"/>
...
</asp:Panel>
Default.aspx.cs
protected void BtnClear_Click(object sender, EventArgs e)
{
// Clear all inputs
foreach (DropDownList ddl in PanelReport.Controls.OfType<DropDownList>())
{
ddl.SelectedIndex = 0;
}
foreach (TextBox fld in PanelReport.Controls.OfType<TextBox>())
{
fld.Text = string.Empty;
}
foreach (CheckBox cb in PanelReport.Controls.OfType<CheckBox>())
{
cb.Checked = false;
}
}