为什么我无法使这个连接起作用

时间:2015-05-19 15:18:12

标签: javascript c# asp.net

我使用过Windows Form应用程序,但对于Web开发来说却是一个新手。我在弄清楚如何连接2个文本框以填充第3个框的文本时遇到了问题。我输入txtFirstName中的第一个名称和txtLastName1中的姓氏。我想将txtFullName填充为组合的名字和姓氏。

代码放在ASP内容占位符中。

这是我目前正在测试的ASP代码,但没有得到任何结果。

    <asp:TextBox ID="txtFirstName" runat="server" Width="175px" TabIndex="1"></asp:TextBox>
    <asp:TextBox ID="txtLname1" runat="server" Width="175px" TabIndex="3"></asp:TextBox>
    <asp:TextBox ID="txtFullName" runat="server" Width="268px" Text='<%#Eval("cpMainContent_txtFname") + " "+  Eval("cpMainContent_txtLname1") %>'></asp:TextBox>

但是,在呈现网页时,在第一个名称和姓氏文本框中输入数据时没有任何反应。我知道我错过了导致连接发生的东西。任何帮助将不胜感激。

我也通过这个java脚本尝试了这个

<script language="javascript">
function AppendValues(form)
{
   var TextBox1 = form.txtFirstName.value;
   var TextBox2 = form.txtLname1.value;
   form.txtFullName.value = Textbox1 + TextBox2;
   }
   </script>
  <INPUT type = text name="textbox1" onChange="AppendValues(this.form);">
  <INPUT type = text name="textbox2" onChange="AppendValues(this.form);">
  <INPUT type = text name="textbox3" READONLY>

Visual Studio 2013抱怨在java脚本的第一行使用language =而代码无法编译。

1 个答案:

答案 0 :(得分:0)

假设您有ClientIDMode="Static"

更改

   var TextBox1 = form.txtFirstName.value;
   var TextBox2 = form.txtLname1.value;
   form.txtFullName.value = Textbox1 + TextBox2;

   var TextBox1 =document.getElementById('txtFirstName').value;
   var TextBox2 = document.getElementById('txtLname1').value;
   document.getElementById('txtFullName').value = Textbox1 + TextBox2;

否则,请执行

   var TextBox1 =document.getElementById('<%= txtFirstName.ClientID %>').value;
   var TextBox2 = document.getElementById('<%= txtLname1.ClientID %>').value;
   document.getElementById('<%= txtFullName.ClientID %>').value = Textbox1 + TextBox2;