Javascript Jquery没有在使用ASP.NET C的母版页中工作,并且在不使用母版页的情况下工作正常
此代码在.aspx页面中运行良好,没有问题。但是,如果我使用母版页,那么在这里什么都不起作用,我尝试将JQuery脚本放在母版页中,即使没有任何效果。这里有什么需要做的事情吗。仍然不明白为什么info div没有加载计数。下面是链接Javascript Jquery没有在使用ASP.NET C的母版页中工作,并且在不使用母版页的情况下工作正常,javascript,c#,jquery,html,asp.net,Javascript,C#,Jquery,Html,Asp.net,此代码在.aspx页面中运行良好,没有问题。但是,如果我使用母版页,那么在这里什么都不起作用,我尝试将JQuery脚本放在母版页中,即使没有任何效果。这里有什么需要做的事情吗。仍然不明白为什么info div没有加载计数。下面是链接 <script type="text/javascript" src="scripts/jquery-1.3.2-vsdoc2.js"></script> 我也参考以下博客: MasterPage.master代码: <hea
<script type="text/javascript" src="scripts/jquery-1.3.2-vsdoc2.js"></script>
我也参考以下博客:
MasterPage.master代码:
<head runat="server">
<title></title>
<script type="text/javascript" src="scripts/jquery-1.3.2-vsdoc2.js"> </script>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
Default2.aspx代码
var Editor1='#Editor1';
var Editor1CountLimit=50
var editor1info区域='#Info';
var Editor2='#Editor2';
var Editor1InfoArea1='#Info1';
$(文档).ready(函数(){
TrackCharacterCount(Editor1、Editor1CountLimit、Editor1Info区域);
TrackCharacterCount(Editor2、Editor1计数限制、Editor1信息区域1);
});
函数TrackCharacterCount(控制、限制、信息){
变量编辑器=$(ctl.contents().find('iframe').eq(2);
$(编辑器).加载(函数(){
var txt=$(this.contents().find('body').text();
$(info.html(txt.length);//设置初始值
$(this).contents().keyup(函数(){
var txt=$(this.contents().find('body').text();
如果(txt.length>limit)
$(info.html(txt.length).css(“颜色”、“红色”);
其他的
$(info.html(txt.length).css(“颜色”,“长度”);
});
});
}
函数ValidateEditor1Length(源,参数){
var editor=$(Editor1.contents().find('iframe').eq(2);
var txt=editor.contents().find('body').text();
var isValid=txt.length>0&&txt.length 0&&txt.length正在下载js文件吗?也可以使用开发者工具下的网络(F12)检查。同时在最后一页的HTML中检查控件的ID是否确实是您在脚本中使用的ID。尝试将您的Jquery引用更改为:
<script type="text/javascript" src="<%= Page.ResolveClientUrl("~/scripts/jquery-1.3.2-vsdoc2.js") %>"></script>
我也遇到了同样的问题。在浏览器客户端查看输出源代码时,我注意到所有的“id”都被修改为在id之前加上ContentPlaceholder id作为前缀,因此id的jQuery不再存在
解决方案是在子页面的“内容部分”中包含参数clientdmode=“Static”,以便内容页面上的id对象保持不变,jQuery可以通过原始id找到它
希望能有所帮助。ya.也尝试过这个,但没有加载jquery信息div,请选择上面的链接。@Martin您看过Chrome Developer Tools控制台了吗,有没有Javascript错误或缺少资源?使用单页工作正常,使用母版页时出现问题,请参考上面的链接。请选择上面的链接k在我的问题中,你会得到我的答案。@Rui limaSo文件是否正在下载?如果不使用母版页,此代码工作正常。但是当我使用上面的代码工作母版页时,jquery没有加载。请检查上面的链接,你会得到我的问题。@Rui limamate,我们没有看到代码。问题肯定与asp.net webforms生成控件ID的方式。如果您想解决问题,我们需要确保两件事:1.确保js文件正在下载;2.确保ID确实正确。使用母版页时,有时会将ID设置为ID=“ctl00\u MainContent\u Age”,而不仅仅是ID=“Age”,顺便说一句,你给出的链接不是一个很好的例子。仍然很混乱,上面的代码可用。你能找到错误的原因吗。@Rui Lima
<script type="text/javascript">
var Editor1 = '#Editor1';
var Editor1CountLimit = 50
var Editor1InfoArea = '#Info';
var Editor2 = '#Editor2';
var Editor1InfoArea1 = '#Info1';
$(document).ready(function () {
TrackCharacterCount(Editor1, Editor1CountLimit, Editor1InfoArea);
TrackCharacterCount(Editor2, Editor1CountLimit, Editor1InfoArea1);
});
function TrackCharacterCount(ctl, limit, info) {
var editor = $(ctl).contents().find('iframe').eq(2);
$(editor).load(function () {
var txt = $(this).contents().find('body').text();
$(info).html(txt.length); //set initial value
$(this).contents().keyup(function () {
var txt = $(this).contents().find('body').text();
if (txt.length > limit)
$(info).html(txt.length).css("color", "red");
else
$(info).html(txt.length).css("color", "");
});
});
}
function ValidateEditor1Length(source, args) {
var editor = $(Editor1).contents().find('iframe').eq(2);
var txt = editor.contents().find('body').text();
var isValid = txt.length > 0 && txt.length <= Editor1CountLimit;
args.IsValid = isValid;
}
function ValidateEditor1Length1(source, args) {
var editor = $(Editor2).contents().find('iframe').eq(2);
var txt = editor.contents().find('body').text();
var isValid = txt.length > 0 && txt.length <= Editor1CountLimit;
args.IsValid = isValid;
}
</script>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<div id="Info">Info</div>
<%-- <cc1:Editor ID="Editor1" runat="server" />--%>
<cc1:Editor ID="Editor1" runat="server" />
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="Editor1" ClientValidationFunction="ValidateEditor1Length" ErrorMessage="Exceeded Character Limit"></asp:CustomValidator>
<div id="Info1">Info</div>
<%-- <cc1:Editor ID="Editor2" runat="server" />--%>
<cc1:Editor ID="Editor2" runat="server" />
<asp:CustomValidator ID="CustomValidator2" runat="server" ControlToValidate="Editor2" ClientValidationFunction="ValidateEditor1Length1" ErrorMessage="Exceeded Character Limit"></asp:CustomValidator>
</div>
<asp:Button ID="Button1" runat="server" Text="Button" />
<script type="text/javascript" src="<%= Page.ResolveClientUrl("~/scripts/jquery-1.3.2-vsdoc2.js") %>"></script>