0

所以我有这个包含 TextBoxtA 和 TextBoxtB 的 ASP.NET 表单。我希望如果我在 TextBoxA 上输入某些输入(例如“000”),则 TextBoxtB 文本值将设置为“TextChanged”并禁用。

PS:我希望在文本 di TextBoxA 更改后立即发生这种情况,而不是在 onClick 触发时发生。所以我使用属性 onTextChanged。根据这个http://forums.asp.net/t/1300979.aspx,我必须改用 onChange 并在我的代码后面更改 PageLoad 上的属性。但它似乎无法正常工作。

所以这是我的代码:

<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>

我做对了吗?之前谢谢!

4

2 回答 2

1

基本上不,你做错了。OnChange不是文本框的事件。查看 OnBlur 以了解用户何时更改字段或OnKeyUp用户何时键入其他选项。潜在地使用两者。

您可能还想研究jQuery

您还有语法错误和其他问题。您需要使用==!=进行比较。你也没有改变Bso 的价值:

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 和 on Change 之间差异的更多信息:HTML 中的 onBlur 和 onChange 属性有什么区别?

于 2013-10-11T05:01:07.387 回答
0
protected void Page_Load(object sender, EventArgs e)
        {
            inputTexboxtA.Attributes.Add("OnKeyUp", changeText());
        }
于 2013-10-11T06:01:55.370 回答