1

我整天都遇到这个问题,我几乎看到了每个论坛/页面上的每个帖子,但我还没有找到解决问题的方法。在我的解释中,我会尽量做到简短和准确。

我想要的很简单,我想将输入的数字动态复制txtBox1txtBox2. 这两个 txtBoxes 都在一个 Table 里面,这个 Table 在里面 aTemplateField里面GridView。使用该事件txtBox1调用 JavaScriptnumericOnly函数。onkeydown当用户输入一个数字时,该numericOnly函数将触发,并且在 return true 子句之前我调用另一个 JavaScript 函数,它应该从输入的数字中进行动态txtBox1复制txtBox2

这里的问题是,每当我尝试使用

document.getElementById('<%= txtDeathPremiumDifference.ClientID %>');

页面抛出此错误:

“名称 txtDeathPremiumDifference 在当前上下文中不存在”

我必须坚持,我已经尝试了我在互联网上找到的一切,即使是这样:

document.getElementById(''<%# ((GridViewRow)Container')
        .FindControl("txtDeathPremiumDifference").ClientID %>'')
        .value="Hi";

但没有任何效果。

底线我需要能够访问我的文本框的值,以便我可以修改它们所持有的任何内容。

这是"txtBox1"它实际上并不是这样称呼的,但你明白了:

TextBox ID="txtDeathBankPremium" runat="server" CssClass="TexboxInput"
     MaxLength="17" Width="122px" onkeydown="return isNumericKey(event);"

这是JS函数:

function isNumericKey(e)
        {
            var charInp = window.event.keyCode; 
            if (charInp > 31 && (charInp < 48 || charInp > 57)) 
            {
                return false;
            }
            ComputePremiumDifference(charInp);
            return true;
        }
        
        function ComputePremiumDifference(input) {
            document.getElementById('<%= txtDeathPremiumDifference.ClientID %>')
                    .value="Hi";
        }
4

1 回答 1

0

在 js 函数中使用“<%= txtDeathPremiumDifference.UniqueID %>”。希望它会奏效。

于 2012-11-29T02:56:55.460 回答