我在尝试清除aspx页面上文本框中的这些银行和路由号码时遇到了麻烦。我已经看到它用于指定文本框ID的地方并执行textbox.text = String.Empty()。但这似乎不适用于此。也许我使用的是错误的ID?我也尝试过使用JQuery .val(“”),但这似乎也没有用。
这是代码,我想在点击按钮时清除路由和帐户文本字段:
<div id="DivUser1BankInfo" class="labelAndTextboxContainer">
<div class="labelContainer">
<asp:Label CssClass="rightFloat" ID="User1LabelRoutingNumber" runat="server" Text="Routing #:"></asp:Label><br />
</div>
<div class="textboxContainer">
<asp:TextBox ID="User1TextRoutingNumber" CssClass="leftFloat " runat="server" Font-Size="Smaller" Width="180px"
Text='<%# Bind("User1BankRoutingNumber") %>'
Visible='<%# ApexRemington.BLL.VendorBLL.ShowUser1BankInfo((string)Eval("User1BankInfoEditUser")) %>' /><br />
</div>
<div class="labelContainer">
<asp:Label CssClass="rightFloat" ID="User1LabelAccountNumber" runat="server" Text="Account #:"></asp:Label><br />
</div>
<div class="textboxContainer">
<asp:TextBox ID="User1TextAccountNumber" CssClass="leftFloat " runat="server" Font-Size="Smaller" Width="180px"
Text='<%# Bind("User1BankAccountNumber") %>'
Visible='<%# ApexRemington.BLL.VendorBLL.ShowUser1BankInfo((string)Eval("User1BankInfoEditUser")) %>' /><br />
</div>
<button type="button" id="clearButton1">Clear</button>
<div class="button">
<asp:Button ID="User1ClearBankInfo" runat="server" Text="Reset"
Visible='<%# ApexRemington.BLL.VendorBLL.ShowUser1BankInfo((string)Eval("User1BankInfoEditUser")) %>' OnClick="clearFields_btn"/><br />
</div>
OnClick =“clearFields_btn”代码隐藏=
protected void clearFields_btn(object sender, EventArgs e)
{
}
感谢您的帮助!
答案 0 :(得分:4)
我暂时没有使用ASP.NET,但我认为您可能需要OnClientClick
事件,而不是OnClick
。 OnClientClick
用于客户端代码(您的jQuery / JavaScript),OnClick
用于服务器端代码(您的C#或VB.NET)。
您还希望您的OnClientClick
事件方法返回false,否则服务器端代码也会触发。
所以我觉得你想要这样的东西:
<asp:Button ID="User1ClearBankInfo" runat="server" Text="Reset"
Visible='<%# ApexRemington.BLL.VendorBLL.ShowUser1BankInfo((string)Eval("User1BankInfoEditUser")) %>
OnClientClick="clearText();"/>
然后clearText
看起来像这样:
<script>
function clearText()
{
//our two IDs
$('input[id*="User1TextRoutingNumber"]').each(function(index) {
$(this).val('');
});
$('input[id*="User1TextAccountNumber"]').each(function(index) {
$(this).val('');
});
return false;
}
</script>
编辑:拍摄,我看到了我的错误。修复了清除文本框文本的代码,而不是按钮(&#34;此&#34;)。
编辑:从&#34;清除&#34;中移除空格文本val。
编辑:使搜索更灵活,更少依赖于GridView或没有GridView。
答案 1 :(得分:2)
你需要这样的东西。假设您需要一个客户端解决方案(从您的问题中不是很清楚)。
<script type="text/javascript">
function clearTextBox() {
document.getElementById("<%= User1TextRoutingNumber.ClientID %>").value = "";
//or
$("#<%= User1TextRoutingNumber.ClientID %>").val("");
}
</script>
<%= User1TextRoutingNumber.ClientID %>
将确保您获得javascript / jQuery的正确ID。
服务器端解决方案是:
protected void clearFields_btn(object sender, EventArgs e)
{
for (int i = 0; i < GridView1.Rows.Count; i++)
{
TextBox tb = GridView1.Rows[i].FindControl("User1TextAccountNumber") as TextBox;
tb.Text = "";
}
}
答案 2 :(得分:1)
试试这个
<script>
var clear = function(textboxID){$('input[id*=' + textboxID + ']').val('');};
return false;
</script>
<button id="btClearText" onclick="javascript:return clear('txtName');">
但如果您需要更具体的答案,请发布更多信息