1

私は一日中この問題を抱えていて、そこにあるすべてのフォーラム/ページのほぼすべての投稿を見てきましたが、私の問題の解決策を見つけられませんでした。説明はできるだけ簡潔かつ正確に行います。

私が欲しいのは単純です、私は動的に入力された数字をにコピーしたいtxtBox1ですtxtBox2。これらのtxtBoxは両方とも、の中にあるテーブルのTemplateField中にあり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 に答える