Onfocus文本框用户名放在textbox firstname值和textbox lastname值中

时间:2015-05-23 23:58:38

标签: javascript jquery asp.net webforms textbox

作为开始,我有输入字段,它与jquery代码一起工作正常,现在我将输入字段更改为asp.net文本框,因为我扩展了所以它将数据插入到数据库中。所以现在我需要弄清楚它如何与asp:textboxes一起使用。

我有3个用于名字,姓氏和用户名的asp.net文本框

<asp:TextBox ID="TextBox_firstname" runat="server" name="firstname></asp:TextBox>

<asp:TextBox ID="TextBox_lastname" runat="server" name="lastname"></asp:TextBox>

<asp:TextBox ID="TextBox_username" runat="server" name="username"></asp:TextBox>

我不这么认为,因为我有错误的jquery文件 我使用的jquery文件是:

<script src="Scripts/jquery-1.9.1.js"></script>

$("#<%=TextBox_username.ClientID%>").focus(function () {
    var firstname = $("#<%=TextBox_firstname.ClientID%>").val();
    var lastname = $("#<%=TextBox_lastname.ClientID%>").val();
    if (firstname && lastname && !this.value) {
        this.value = firstname + "." + lastname;
    }
} );

我研究过如何使用jquery选择器获取Asp.net控件ID
("#<%=TextBox_username.ClientID%>")
我复制了给出的格式,所以没有错。 但它也不起作用。
如果出现问题,我不知道如何测试。如果有人能解释我是如何知道这是否有效,我会很高兴。但如果你能看到解决方案,那就更好了。

编辑:我没有使用母版页 - 内容占位符,我只使用默认的网络表单

2 个答案:

答案 0 :(得分:1)

只有当包含它的文件以 .aspx

结尾时,才会运行运算符<%=

具有 .js 扩展名的文件是由ASP.NET引擎解析,因此{。1}}的相同代码将在.js中呈现文件在浏览器中。 ASP.NET不会处理 .js 文件并将此代码转换为字段的实际ID( TextBox_firstname

Mate的示例之所以有效是因为他/她将JavaScript代码直接放入 .aspx 文件中。我怀疑你的js代码是在 .js 文件中,而不是直接在 .aspx 文件中?

克雷格

答案 1 :(得分:0)

试试这个.aspx:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="jquery-1.11.3.js"></script> <!-- or 1.9 -->
    <script type="text/javascript">
        $(document).ready(function () {
            $("#<%=TextBox_username.ClientID%>").focus(function () {

                var firstname = $("#<%=TextBox_firstname.ClientID%>").val();
                var lastname = $("#<%=TextBox_lastname.ClientID%>").val();
                if (firstname && lastname && !this.value) {
                    this.value = firstname + "." + lastname;
                }
            });
        });

    </script>

</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="TextBox_firstname" runat="server" name="firstname"></asp:TextBox>
            <asp:TextBox ID="TextBox_lastname" runat="server" name="lastname"></asp:TextBox>
            <asp:TextBox ID="TextBox_username" runat="server" name="username"></asp:TextBox>
        </div>
    </form>
</body>
</html>