在另一个文本框的内容发生更改时启用一个文本框

时间:2013-02-19 22:58:31

标签: javascript

我在表单上有三个文本框,默认行为是第一个文本框已启用但其他两个文本框未启用。我想在第一个文本框中输入后立即启用第二个文本框,或者将一些文本复制到第一个文本框中。 我在我的表单上有下面的代码,但只有在我开始在文本框中输入后才能启用下一个文本框。当我复制和浏览内容时,它没有帮助/响应。请帮忙......

function EnableCopyUsageField(currentField)
{   
   var txtOldItem2 = $get('<%=txtOldItem2.ClientID%>');
   var txtOldItem3 = $get('<%=txtOldItem3.ClientID%>');

   if(currentField == "txtOldItem1")
   {
    txtOldItem2.disabled = false;
    txtOldItem2.style.backgroundColor ='White';
   }

    if(currentField == "txtOldItem2")
    {
    txtOldItem3.disabled = false;
    txtOldItem3.style.backgroundColor ='White';   
    }
}

在另一个文本框的内容更改时启用一个文本框

2 个答案:

答案 0 :(得分:0)

你可以在文本框的onkeydown和onchange事件上调用你的函数。基本上它应该只改变onkeydown / onkeyup ven,如果你复制。

<input type="text" onkeydown="EnableCopyUsageField()" onchange="EnableCopyUsageField()" />

答案 1 :(得分:0)

用于复制和粘贴,此代码解决了我的问题

function EnableFieldOnPaste()
 function EnableFieldOnPaste()
  {
       var txtOldItem1 = $get('<%=txtOldItem1.ClientID%>');
       var txtOldItem2 = $get('<%=txtOldItem2.ClientID%>');

        txtOldItem1.onpaste = function() 
       {
            EnableCopyUsageField("txtOldItem1");
       };

       txtOldItem2.onpaste = function() 
       {
          EnableCopyUsageField("txtOldItem2");
        };    

}