有两个文本框,想要识别光标在哪个文本框或聚焦

时间:2013-07-29 08:34:37

标签: asp.net

我有两个文本框,我希望系统能够识别光标所在的文本框。如果光标位于第二个文本框,则提交第二个文本框中写入的值。两个文本框都有可能包含值,但只有选中光标的文本框必须选中

1 个答案:

答案 0 :(得分:0)

使用javascript是可能的选项之一。可能这可以帮助你提供一个非常基本的想法,从哪里开始......

var txtFocus = null;

  window.onload = function() {
    var inputs = document.getElementsByTagName('INPUT');

    for(var i = 0; i < inputs.length; i++) {
      var fcsdTxt= inputs[i];

      if(fcsdTxt.type == 'text') {
        fcsdTxt.onfocus = function() {
          txtFocus = this; // set the variable 'txtFocus' declared at top
        }
        fcsdTxt.onblur = function() {
          txtFocus = null;
        }
      }
    }
  }

现在,当您想要查看哪个文本框具有焦点时,请检查变量“txtFocus”

if(txtFocus)
    alert(txtFocus.id + ': ' + txtFocus.value);
  else
    alert('No textbox focused');

现在,您必须确保在服务器端获得txtFocus的值。因此,请在页面上使用隐藏字段,并在Javascript中设置值:

<asp:HiddenField ID="fcsTxt" runat="server" Visible="true" />

JavaScript代码:

document.getElementById('<%= fcsTxt.ClientID %>').value = txtFocus;

当然,在文件后面的Asp.Net代码中访问隐藏字段的值是:

string ID = fcsTxt.Value;