omi*_*omi 1 c# asp.net textbox
我有这个控制权:

我正在尝试创建一种验证,每当用户向TextBox输入文本时,"添加"按钮将被启用,当文本为""(空)时,"添加"按钮被禁用.我不想使用验证器.
这是代码:
protected void addNewCategoryTB_TextChanged(object sender, EventArgs e)
{
if (addNewCategoryTB.Text != "")
addNewCategoryBtn.Enabled = true;
else
addNewCategoryBtn.Enabled = false;
}
Run Code Online (Sandbox Code Playgroud)
问题是,当用户输入文本时,"添加"按钮不会从禁用更改为启用(反之亦然)...
有任何想法吗?
是Web表单吗?在Web窗体中TextChanged,默认情况下不会触发TextBox 的事件.要触发事件,您必须AutoPostBack将TextBox 的属性设置为true.
但是,这会执行一个HTTP帖子,什么是丑陋的纠结,或者你可以将其包装在一个 UpdatePanel
一个更优雅的选择,就是使用jQuery来做,在jQuery中做到这一点,你需要一些代码,如:
$(document).ready(function() {
$("#<%= yourTextBox.ClientID %>").change(function() {
var yourButton = $("#<%= yourButton.ClientID %>")
yourButton.attr('disabled','disabled');
yourButton.keyup(function() {
if($(this).val() != '') {
yourButton.removeAttr('disabled');
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
537 次 |
| 最近记录: |