0

C# クラスのラジオ ボタン コントロールに JavaScript を使用して「onclick」イベントを実装し、非表示のサーバー コントロール テキストボックス テキスト値を変更して、どのボタンがクリックされたかを反映するにはどうすればよいですか? ボタンは、クライアントで実行される HTML コントロールです。

Button1 と Button2 の 2 つのラジオ ボタンがあるとします。私の C# コードでは、Textbox コントロールを更新するために以下のアラート呼び出しを置き換える必要があります。この非表示の値は PostBack で処理されます。

Button1.Attributes.Add("onclick", "alert(' You clicked Button 1. How do I update textBox.Text? in here?');");       
Button2.Attributes.Add("onclick", "alert('You clicked Button 2. How do I update textBox.Text? in here?');"); 
4

3 に答える 3

1
Button1.Attributes.Add("onclick", "javascript:document.getElementById('" + TextBox1.ClientID + "').value = 'Button1'");

      Button2.Attributes.Add("onclick", "javascript:document.getElementById('" + TextBox1.ClientID + "').value = 'Button2'");
于 2012-10-19T03:59:06.690 に答える
1

これを試してみてください

document.getElementById('myTextbox').value = 'Button1';
于 2012-10-18T23:35:05.390 に答える
1

非表示のテキスト ボックスはサーバー側で実行されるため、ID は不明です。クライアント ID を取得する必要があります。

Button1.Attributes.Add("onclick", "javascript:document.getElementById('" + Textbox1.ClientId + "').value = this.ID");

Button2.Attributes.Add("onclick", "javascript:document.getElementById('" + Textbox1.ClientId + "').value = this.ID");

JavaScript でテキスト ボックスを非表示にするか、代わりに hiddenInput コントロールを使用する必要があることに注意してください。

于 2012-10-18T23:45:19.480 に答える