我如何在1个框中键入一个值,并使用asp:textbox将其填入另一个框中。我只想从1个asp:textbox中取出值并将其放入另一个,最终我将添加2个盒子的总和并将其放入另一个盒子中,我希望这是实时发生而不是使用按钮。
答案 0 :(得分:2)
使用javascript:
<asp:TextBox ID="txtTextSource" runat="server" onblur="TextSource_OnBlur(this)" />
<asp:TextBox ID="txtTextDestination" runat="server" />
<script type="text/javascript">
function TextSource_OnBlur(oElement) {
var destination = document.getElementById('<%= txtTextDestination.ClientID %>');
destination.value = oElement.value;
}
</script>
答案 1 :(得分:0)
使用jQuery代替ASP.net,因为它可以避免回发。
挂钩到textbox1的change事件并使用jQuery填充文本框2。试一试,告诉我们。
答案 2 :(得分:0)
我同意raja,你应该使用客户端JavaScript(不必是jQuery)来处理这个问题,因为它不需要服务器交互。但是,让我们说出一些疯狂的理由,你希望它发生在服务器上。
First Number: <asp:TextBox runat="server" id="TB1" /><br />
Second Number: <asp:TextBox runat="server" id="TB2" /><br />
<asp:Button runat="server" id="CalculateBtn" OnClick="CalculateBtn_Click" Text="Calcualte Sum" />
Sum: <asp:TextBox runat="server" id="SumTB" />
背后的代码
protected void CalculateBtn_Click (object sender, EventArgs e)
{
int num1 = Int32.Parse(TB1.Text);
int num2 = Int32.Parse(TB2.Text);
int sum = num1+num2;
SumTB.Text = sum.ToString();
}
显然,您可以使用双打而不是整数来验证用户输入有效数字并使用ScriptMethods或UpdatePanels实时完成而无需按钮。但严肃地说,坚持使用客户端解决方案。
答案 3 :(得分:0)
$('.amount-input').live('blur', function () {
var amountSum = 0;
$('.amount-input').each(function () {
amountSum += parseInt($(this).val());
});
$('#<%= Damount.ClientID %>').val(amountSum);
enter code here
刚刚使用了java脚本并调用了总量,即#34; Damount&#34;从服务器代码。仍然希望它实时更改,除非我点击文本框但是嘿它有效!