作为开始,我有输入字段,它与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%>")
我复制了给出的格式,所以没有错。
但它也不起作用。
如果出现问题,我不知道如何测试。如果有人能解释我是如何知道这是否有效,我会很高兴。但如果你能看到解决方案,那就更好了。
编辑:我没有使用母版页 - 内容占位符,我只使用默认的网络表单
答案 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>