请问有人可以给我下面的完整利用率代码吗?记住我是一个完整的菜鸟,所以请包含通常遗漏的OBVIOUSE东西。
(为了给uni项目提供代码而减轻任何道德问题只是在知道要利用什么,而不是如何编码是无关紧要的。)
继承我拥有的东西(只是一个测试页面向我自己证明与我的其余代码没什么奇怪的事情)
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script src="jquery-1.4.2.js" type="text/javascript"></script>
<script src="jquery.validate.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$.validator.addMethod(
"regex",
function (value, element, regexp) {
var check = false;
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"Please check your input.");
$('#<%= txtStones.ClientID %>').rules("add", { regex: "/\d\d?/" })
</script>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtStones" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</form>
</body>
</html>
多数民众赞成,我的整个代码......这就是我得到的
Microsoft JScript运行时错误:无法获取属性“form”的值:object为null或undefined
它指向jquery.validate.js文件中的这一行
var settings = $ .data(element.form,'validator')。settings;
rules: function(command, argument) {
var element = this[0];
if (command) {
var settings = $.data(element.form, 'validator').settings;
var staticRules = settings.rules;
var existingRules = $.validator.staticRules(element);
switch(command) {
case "add":
$.extend(existingRules, $.validator.normalizeRule(argument));
staticRules[element.name] = existingRules;
if (argument.messages)
settings.messages[element.name] = $.extend( settings.messages[element.name], argument.messages );
break;
case "remove":
if (!argument) {
delete staticRules[element.name];
return existingRules;
}
var filtered = {};
$.each(argument.split(/\s/), function(index, method) {
filtered[method] = existingRules[method];
delete existingRules[method];
});
return filtered;
}
}
这就是一切。我知道它可能是一个完全没有被我做过的驴子愚蠢的事情,但是我真的真的需要让它发挥作用。
我非常感谢您的意见。
修改
好吧我没时间所以我将不得不去做我真正不想做的事情。我将拥有大约200个asp.net验证控制工具,上帝知道有多少扩展器!!
我仍然感谢您对furure项目的投入。
答案 0 :(得分:3)
我注意到的第一件事是你在尚未加载表单时尝试访问该表单。您必须将代码放入DOM ready事件中,以便在开始运行之前等待整个DOM加载。基本上,当您的代码运行时,<form>
尚不存在,这就是您收到该错误的原因。尝试更改:
$('#<%= txtStones.ClientID %>').rules("add", { regex: "/\d\d?/" })
要:
$(function() {
//This function will be called only when the DOM is ready. At this point,
// your <form> will exist.
$('#<%= txtStones.ClientID %>').rules("add", { regex: "/\d\d?/" })
});
看看是否有帮助。
<小时/> 的修改
var re = new RegExp(regexp);
更改为var re = new RegExp(regexp[0]);
(以获取第一个参数)。