所以我有这个包含TextBoxtA和TextBoxtB的ASP.NET表单。我希望如果我在TextBoxA上输入某些输入(例如'000'),TextBoxtB文本值将被设置为'TextChanged'并被禁用。
PS:我希望在文本di TextBoxA更改后立即发生,而不是在onClick触发时。所以我使用onTextChanged属性。根据这个http://forums.asp.net/t/1300979.aspx,我必须改为使用onChange并在我的代码背后更改PageLoad上的poperty。但它似乎无法奏效。
所以继承我的代码:
<script runat="server">
function changeText() {
var A = document.getElementById('<%=inputTexboxtA.ClientID%>').value;
var B = document.getElementById('<%=inputTexboxtB.ClientID%>').value;
if (A = '000') {
B = 'TextChanged';
}
}
</script>
protected void Page_Load(object sender, EventArgs e)
{
inputTexboxtA.Attributes.Add("onChange", changeText());
}
<asp:TextBox ID="inputTexboxtA" runat="server" MaxLength="3"/></td>
<asp:TextBox ID="inputTexboxtB" runat="server" MaxLength="3"/></td>
我做得对吗?先谢谢!
答案 0 :(得分:1)
基本没有,你做错了。 在用户更改字段时查看OnBlur,或在用户键入其他选项时查看OnChange
不是文本框的事件。 OnKeyUp
。 Potentialy使用两者。
您可能还想调查jQuery
您还有语法错误和其他问题。您需要使用==
或!=
进行比较。此外,您不会更改B
的值:
function changeText() {
var A = document.getElementById('<%=inputTexboxtA.ClientID%>').value;
var B = document.getElementById('<%=inputTexboxtB.ClientID%>');
if (A == '000') { // or (A != '000')
B.value = 'TextChanged';
}
}
OnBlur示例:http://jsfiddle.net/4HwmU/
更新:所以我累的时候不应该编码! OnChange很好,问题是代码中的各种错误
OnChange示例:http://jsfiddle.net/4HwmU/1/
有关OnBLur和更改之间的差异的更多信息:What is the difference between onBlur and onChange attribute in HTML?
答案 1 :(得分:0)
protected void Page_Load(object sender, EventArgs e)
{
inputTexboxtA.Attributes.Add("OnKeyUp", changeText());
}