2015-04-05 66 views
-2

我认为jQuery的全部目的是让开发人员的生活更容易更容易但自从我开始学习如何使用它〜3个月前,它已经造成了什么,但对我来说是恶梦!ASP.NET WebForms和jQuery验证 - validate()undefined

我现在工作的一个ASP.NET Web窗体应用程序,我试图使用jQuery验证,因为内置的验证控件不能低于输入同行容易呈现。这就是我想要做的;有一个输入错误信息,动态出现并消失它下面它,但我一直在我的头撞砖墙5个小时试图找出如何做一个看似简单的小东西!

我开始时使用了一堆<asp:RegularExpressionValidator><asp:RequiredFieldValidator>控件(因为您无法使用一个控件同时进行两次验证),但不喜欢如何将错误消息内联显示在我的输入的右侧。所以我花了大约2.5个小时试图让ASP.NET渲染与display: block;该死的东西,没有用。

这时候我想起提过一个同事的jQuery验证插件来我大约一个月前是...所以关闭我去努力实现与解决方案。但无论我尝试什么,Windows上的Google Chrome v.41都会在jQuery.validate()函数中给我一个“未定义不是函数”的错误。

我知道你在想什么:沿着“ASP.NET mangles控制ID ... yada yada yada”的线条,但我从我开始以来一直在我的web.config的<system.web>节中使用<pages clientIDMode="Static" />这个项目,所以这不是问题。我也为99.999%肯定我,包括以正确的顺序必要的脚本,即使有些包含在我的母版页和一些在内容页面(这不应该的问题,应该吗?)

这篇文章已经太长了,所以退房the full code here

MTIA给任何人谁可以告诉我这到底是怎么回事!

+1

相关的代码应该包括在问题中,而不是在一个地方,我很快就会消失请阅读http://stackoverflow.com/help/mcve – AdrianHHH

+0

因为我说,这篇文章已经很长,完整的aspx页面是** 546行** ...供将来参考,你真的希望我在这里包括类似的东西吗?将其缩小为显示该问题的摘录是不可能的,因为**我不知道问题出在哪里,只是它在该页面中的某个地方。 – Kenny83

+0

@AdrianHHH - 我刚刚看了你链接到,看到这个建议的页面: “分而治之。当你有一个很小的代码量,但问题的根源是完全不清楚,开始一次只移除代码位直到问题消失 - 然后再添加最后一部分“。 这就是克里斯蒂娜和我两人最终解决问题的方式,所以我想我应该首先做到这一点,甚至从来没有在这里发布。我很抱歉。 – Kenny83

回答

1

我调试了你的代码。问题在于你的评论。删除你的意见的代码,它会工作:)

+0

LMAO是不可思议的;我刚刚发现了这个,几乎和你一样!但是,无论如何感谢;-)不能相信我因为一些愚蠢的评论而浪费了整整一天!我以前从来没有见过这样的事情......为什么地球上的代码会以**任何方式影响JS/JQ,更不用说让浏览器盲目地告诉我一个函数是未定义的......我根本不理解这个**!无论如何感谢回答和复活节快乐:D – Kenny83

+0

另外我想知道你是如何调试代码的......这样的工具肯定会让我的生活变得更轻松!如果我只是在VS中打F10,F11或F5,页面运行时不会停止任何地方...你是否用这种方式在某种初始化函数中使用了断点?如果是这样,什么功能? – Kenny83

+0

对于Javascript代码,我使用Google Chrome的默认调试器(Ctrl + Shift + I)。但是,如果您有Internet Explorer,则可以使用开发人员工具(F12)。在visual studio中,编辑代码,插入希望调试器停止的'debugger;'行,然后在浏览器中按F5键刷新,调试器应该停在那里。 –