我使用javascript函数将两个字段FirstName和LastName连接成一个字段FullNameText。
这是javascript函数:
<script type="text/javascript">
function loadFullName()
{
var lblFullNametext = document.getElementById('MainContent_frmAuthor_lblFullNameText');
var txtAuthor_FirstName = document.getElementById('<% = frmAuthor.FindControl("txtAuthor_FirstName").ClientID %>');
var txtAuthor_LastName = document.getElementById('<% = frmAuthor.FindControl("txtAuthor_LastName").ClientID %>');
var comma = "";
if (txtAuthor_FirstName.value != "" || txtAuthor_LastName.value != "")
{
comma = ", ";
}
document.getElementById('MainContent_frmAuthor_lblFullNameText').textContent = txtAuthor_LastName.value + comma + txtAuthor_FirstName.value;
}
</script>
这是我在FormView中的aspx代码:
<InsertItemTemplate>
<table style="width: 100%">
<tr>
<td>ID</td>
<td >
<asp:Label ID
="txtAuthor_ID" runat="Server" Text="(New)" Width="50%" />
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
<asp:Label runat="server" ID="lblFullName" Text="Full Name" >Full Name</asp:Label>
</td>
<td>
<asp:Label runat="server" ID="lblFullNameText" ></asp:Label>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>First Name <span style="color:red">*</span></td>
<td>
<asp:TextBox ID="txtAuthor_FirstName" runat="Server" onkeyup="loadFullName();"
/>
</td>
<td>Last Name</td>
<td>
<asp:TextBox ID="txtAuthor_LastName" runat="Server" onkeyup="loadFullName();"
/>
</td>
</tr>
</table>
</InsertItemTemplate>
当我单击一个按钮保存在FormView中并且FirstName和LastName都为空时,lblFullName字段将替换为逗号,而lblFullNameText保持空白。
我在这里肯定遗漏了一些东西,但我无法理解它。
1)为什么在我没有按下FirstName和LastName文本框上的任何键时触发了LoadFullName()?我的代码中也没有引用该函数。
2)为什么lblFullName标签被替换为&#34;逗号&#34;虽然应该改变的标签是lblFullNameText?
如果有人能指出我正在做的错误,我将不胜感激。如果我应该提供更多信息,请告诉我。