【问题标题】:How to Change textbox text into another textbox in asp.net C#?如何在 asp.net C# 中将文本框文本更改为另一个文本框?
【发布时间】:2014-05-02 17:56:52
【问题描述】:

我的网页上有两个文本框,分别是 txtGivenName 和 txtDisplayName。现在我想在 txtDisplayName 上显示 txtGivenName 文本,同时使用 keypress 事件或 keydown 事件在 txtGivenName 上输入文本。 我已经尝试了一些代码来实现这一点,但无法在 textbox2 上获取 textbox1 的值。

我的代码是:

<asp:TextBox ID="txtGivenName" runat="server" onkeypress = "copyText()"  ></asp:TextBox>

脚本代码是:

function copyText() {

var givenName = document.getElementById("txtGivenName");
var displayName = document.getElementById("txtDisplayName");
displayName =  givenName;

} 

但是在 txtGivenName 上输入文本时没有发生任何事情。谁能建议我实现这一目标或告诉我任何其他方式来实现这一目标? (注意:我不想通过 OnTextChanged 事件执行此操作,因为它只会在文本输入结束后填充第二个文本框的第一个文本框值。在第一个文本框中输入文本时,我们需要同时更改第二个文本框上的文本)

谢谢。

我通过使用下面提到的脚本代码得到了这个功能的确切答案。 解决方案:

function OneTextToOther() {

        var first = document.getElementById('<%= txtGivenName.ClientID %>').value;

        document.getElementById('<%= txtDisplayName.ClientID %>').value = first;

    }  

【问题讨论】:

    标签: javascript asp.net


    【解决方案1】:

    查看浏览器中的页面源代码——“txtGivenName”和“txtDisplayName”不会是文本框的 ID,因为 ASP.NET 会根据控件层次结构预先添加 ID,因此它们是全局唯一的.

    您有两个选择 - 使用 "&lt;%=txtGivenName.ClientID%&gt;" 在 javascript 中获取文本框的真实名称,或者在文本框上设置 ClientIdMode="static" 以便保留 ID。

    function copyText() {
        var givenName = document.getElementById("<%=txtGivenName.ClientID%>");
        var displayName = document.getElementById("<%=txtDisplayName.ClientID%>");
        displayName.value =  givenName.value;
    } 
    

    【讨论】:

    • 我已经应用了你的代码,它现在工作正常。惊人的!非常感谢!
    • 我有一个疑问,从 txtGivenName 中删除文本时,它也必须影响 txtDisplayName。但是,如果我删除了 txtGivenName 上输入的文本,我仍然可以在 txtDisplayName 文本框中看到以前的文本。我们如何实现这一目标?有什么建议吗?
    【解决方案2】:

    您可以尝试 keyup 事件,但我只知道 Jquery 方法可以做到这一点。

    <input class="one" type="text"/>
    <input class="two" type="text"/>
    
    $(".one").on("keyup", function(){
    $(".two").val($(".one").val()); 
    });
    

    这里是演示:http://jsfiddle.net/pUpZA/

    PS: asp:textbox 在编译时转换为输入,所以它基本上是一样的。为您的 asp:textboxes 使用“CssClass=one”

    【讨论】:

    • 我已经在我的文本框中添加了 CssClass 一和二,并按照您在上一篇文章中所说的在 java 脚本位置编写了代码,但我无法获得输出。我如何在 java 脚本中调用它?
    猜你喜欢
    • 2013-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多