jquery插件问题:jquery.validate.js这个插件怎么获取不到id值,只能获取name的值,

JavaScript011

jquery插件问题:jquery.validate.js这个插件怎么获取不到id值,只能获取name的值,,第1张

$(".selector").validate({

rules: {

name: "required",

email: {

required: true,

email: true

}

},

messages: {

name: "Please specify your name",

email: {

required: "We need your email address to contact you",

email: "Your email address must be in the format of [email protected]"

}

}

})

这种格式只能写name,不能用id。

如果你想用id,那么要用其他方法。找到form元素之后单独设置。

$("form").validate()

// 找到元素之后添加规则

$("#id").rules("add", {required:true})

但是form元素一般都会设置name属性,为什么不用呢?

当用 document.getElementById( myForm ).submit()这个执行的时候是没有问题的,但是

用$( #myForm ).submit()这个执行就没有反映。(在IE8 版本上出现的问题,用IE9 没有问

题)高手帮帮忙

------解决方案--------------------------------------------------------

不知道你解决了没?你试下这个看看是否能够解决:

将$( #myForm ).submit()改成jQuery( #myForm ).submit()

------解决方案--------------------------------------------------------

哥们儿 那js 类库和js 代码得放到表单下面,IE8 引入js 类库和执行的顺序和其他版本的不一样

有一种情况就是你导入的js 冲突了,$() 被定义了,解决方式 把$改成jQuery

因为你没有用 jquery,(jquery里面有ready()函数,让html加载完了再加载执行js代码),js在运行到的时候就执行了,但是html对象还没有加载出来,所以js会找不到对象,当然就执行失败了。

要注意,浏览器是一个解释器,不是编译器,解释器是按照行,加载一行运行一行,加载一个代码块儿就显示一个代码块儿,或者是一对儿html标签。不像高级语言的编译器,统一编译后再执行代码。

所以你必须这样写才行:

<!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>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title>无标题文档</title>

</head>

<body>

<div id="box"></div>

</body>

<script language="javascript" type="text/javascript" src="Untitled-2.js">

</script>

</html>

让js在html对象出来后加载.OK ,运行成功!