我想要一个可重复使用的验证器,我可以在一组复选框字段上使用它,这将允许我指定要选择的最小数字和可以选择的最大数字.我不确定如何创建服务器端检查和客户端验证,以使用不引人注目的javascript挂钩到jQuery验证框架.
这个问题似乎是客户端适配器的良好开端,但是如何将它们组合在一起以在服务器上验证它?
asp.net-mvc unobtrusive-javascript jquery-validate asp.net-mvc-3
我一直在做一个小型 Web 应用程序,使用 jQuery 在 Javascript 中添加行为和附加 DOM 对象。问题是代码开始增长得非常快,我不知道在哪里存储它(在使用它的同一页面中,或者在一个大的 js 文件中)。在这一点上,我有:
现在,你可能会用你的眼睛杀死我,我知道。这绝对不是存储 Javascript 的好(或至少不是一致的)方式。所以,我的问题是:
有没有最好的方式来组织 Javascript 代码?
我想至少我应该遵循一条规则,尽管问题是我不确定是否最好为所有“全局数据和方法”创建一个 js 文件,然后将其他文件存储在较小的 js 文件中,或者,或者干脆放弃去喝茶。
你们有什么感想?提前致谢!
PS:显然代码重用是一个很好的点。但是,我将重用最多的脚本保存在第一个 js 文件(具有全局内容的文件)中。
我需要使用MVC 3来实现Web应用程序,即使禁用了javascript,它也能在浏览器上运行.MVC 3中有很多概念依赖于jquery的使用.
我试图将unobtrusive.js包含在我的mvc3视图中,但是当我这样做时,我会在视图呈现时出现一堆错误.例外情况是在不引人注目的脚本中,它在任何地方检查任何与"未定义"相关的内容,就像这一行一样
if(message !== undefined) //Compare against undefined, because an empty message is legal
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
Microsoft JScript运行时错误:'undefined'为null或不是对象
这是我的视图的脚本声明.
<script src="../../Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.8.14.custom.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.8.11.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.unobtrusive.js" type="text/javascript"></script>
<link href="@Url.Content("~/Content/themes/base/jquery.ui.autocomplete.css")" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud) 这是我的编辑视图的一部分:
<dt>
@Html.LabelFor(model => model.MainModel.StartDate)
</dt>
<dd>
@Html.TextBoxFor(model => model.MainModel.StartDate)
@Html.ValidationMessageFor(model => model.MainModel.StartDate)
<div class="targetDiv"> My content </div>
</dd>
Run Code Online (Sandbox Code Playgroud)
因此,当你们所有人都知道StartDate我的模型中的字段无效时不显眼时会显示错误消息,如果有效则隐藏它.现在我想为此过程添加另一个操作.我需要如果StartDate值是无效的显示"targetDiv" div,如果StartDate值是有效隐藏它.你的建议是什么?
asp.net-mvc jquery unobtrusive-javascript unobtrusive-validation asp.net-mvc-3
面对JavaScript Date功能问题,returns "Date {Invalid Date}"在Firefox浏览器中可以正常使用Google Chrome.
// My Input is
new Date("Sat Jan 01 00:00:00 EST 1");
// Works fine in google chrome
// Result: Mon Jan 01 2001 10:30:00 GMT+0530 (India Standard Time)
// Not working in Firefox (Version: 15.0.1)
// Result: Date {Invalid Date}
Run Code Online (Sandbox Code Playgroud) 什么是使用jQuery将AJAX功能连接到现有Form的最佳方法,并允许错误处理回调.
该jQuery.ajax(...)内置功能具有以下(有用)回调函数:
beforeSend
完成
dataFilter
错误
成功
我以为我用jQuery.Form插件找到了我的答案,但是由于一些疯狂的原因他们没有给你访问错误回调!! 除了这个遗漏,它似乎非常有用.
一般来说,jQuery.get在他们推荐之前推荐使用的文章数量让我感到非常沮丧jQuery.ajax.回顾一下:get()没有错误回调,但ajax()确实如此.
在我看来,你应该总是使用,ajax()因为你总是应该有某种错误处理逻辑.
还有其他很好的插件 - 特别是与ASP.NET-MVC配合得很好的东西,我应该使用它来更容易地挂钩一切吗?
我在jquery中有以下代码.
$(function() {
$('.test').click(function() {
alert('this is a test');
});
});
Run Code Online (Sandbox Code Playgroud)
我意识到这是不引人注目的,但我想通过做这样的事情来尝试让它变得更加不引人注目.
$(function() {
$('.test').submitAlert();
*and place the alert message right here.
});
Run Code Online (Sandbox Code Playgroud)
然后,我可以在不同的类上调用警报消息,而无需重新键入代码.有人可以用jquery来告诉我怎么做这个吗?
有人能告诉我这里我做错了什么吗?
我试图在单击按钮时执行一个功能.
HTML:
<button id="btn1">Press me!</button>
<input type="button" id="btn2" value="Press me!"/>?
Run Code Online (Sandbox Code Playgroud)
javascript:
var btn1 = document.getElementById('btn1'),
btn2 = document.getElementById('btn2');
function do() {
alert('Yay!');
}
btn1.onclick = do;
btn2.onclick = do;?
Run Code Online (Sandbox Code Playgroud)
这是一个演示.我不确定为什么它不起作用.对于我来说,这显然是一种显而易见的方式.:)
jquery ×5
asp.net-mvc ×3
javascript ×3
ajax ×1
button ×1
datetime ×1
ecmascript-5 ×1
function ×1
html ×1
validation ×1