-1

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

4

1 回答 1

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;
于 2013-07-29T09:49:20.060 回答