Javascript函数更新错误的字段

时间:2016-04-17 13:40:13

标签: javascript asp.net

我使用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?

如果有人能指出我正在做的错误,我将不胜感激。如果我应该提供更多信息,请告诉我。

0 个答案:

没有答案