【问题标题】:Copying text from one text box to another using java script使用javascript将文本从一个文本框复制到另一个文本框
【发布时间】:2020-04-05 05:49:52
【问题描述】:

我希望能解决这个问题,所以我有一个用于首字母缩写的文本框,我想将它复制到接下来的 26 个首字母框中,这样对用户来说更容易一些。

我想在客户端执行此操作,因此我不会耗尽服务器端的性能。

我遇到的问题是,每当我调用应该复制文本的函数时,以某种方式禁用文本框,我无法在文本框中输入任何内容。请看下面的代码,请让我知道我哪里出错了!

     <script type="text/javascript">
        function copyText() {

            var UI = document.getElementById("txtinitialOriginal").value;

            document.getElementById("initial1").innerHTML = UI;
        }
    </script>
<input type="text" onkeypress="copyText(); return false" runat="server" id="txtinitialOriginal" style="font-size:20px"  /> 

 <asp:TextBox ID="initial1"  placeholder="Initial Here" style="float:right" runat="server"></asp:TextBox>

我做错了什么?

【问题讨论】:

  • 那是因为你使用innerHtml 你应该设置值。

标签: javascript asp.net input text


【解决方案1】:

使用InnerHtml 不会设置文本框的值。 InnerHTML 替换了输入中的 HTML

尝试使用此值设置文本框

document.getElementById("initial1").value = UI;

document.getElementById("<%= initial1.ClientID %>").value = UI;

编辑:

您的文本框已被禁用,因为您有

onkeypress="copyText(); return false" 

你需要return true

【讨论】:

  • 您好,感谢您的回复,不幸的是,我也这样做了,但是文本框本身已被禁用,我无法在要从中复制文本的文本框中输入任何内容。
  • 是的,有效,仍然有一个问题,当我在文本框中输入内容时,Initial1 文本框仅复制第一个字母,如果我输入 3 个字母,它仅复制超过 2 个字母,这是为什么呢?
  • 因为在onkeypress 完成之前值不会改变。尝试其他活动,例如 onchangeonKeyUp
  • 使用onKeyUp 代替onKeyPress keypress 在插入实际字符时触发,例如文本输入。它在用户按住键时重复。 keyup 当用户释放一个键时触发,该键的默认操作已经执行。
猜你喜欢
  • 2023-03-16
  • 2020-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多