单选按钮的onclick事件

问题描述 投票:0回答:4

如何在 C# 类中使用 JavaScript 为单选按钮控件实现“onclick”事件,以更改隐藏的服务器控件文本框文本值以反映单击了哪个按钮?这些按钮是在客户端运行的 html 控件。

假设我有 2 个单选按钮:Button1 和 Button2。在我的 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?');"); 
javascript c# onclick radio-button
4个回答
1
投票

试试这个

document.getElementById('myTextbox').value = 'Button1';

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 隐藏文本框或使用隐藏输入控件。


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

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

0
投票

这里有一些有趣的事情。虽然您可以动态创建这些单选按钮,但您似乎无法自动将它们连接到代码隐藏处理程序。但是,您可以向页面添加一个按钮,为其提供一个代码隐藏处理程序,然后使用 JavaScript onClick 处理程序来单击该按钮。从那里,您可以查看单选按钮并执行某些操作。

例如:

受保护的 void MyFunction { ... RadioButton radioButton = new RadioButton(); radioButton.Text = "文本"; radioButton.Attributes.Add("onclick", @"obj=document.getElementById('MainContent_ButtonGroupRadioButtonsClicked');obj.click();"); radioButton.Attributes.Add("runat", "服务器"); ... }

protected void OnRadioButtonGroupClick(对象发送者,EventArgs e) { // 在这里做一些事情。 }

© www.soinside.com 2019 - 2024. All rights reserved.