朋友我是javascripting&的新手jQuery并需要你的帮助来解决2个问题。我正在使用 jquery验证插件 https://jqueryvalidation.org来处理在不同页面上包含多个表单的项目。
问题#1
我添加了一个已经有
的自定义JS文件$(document).ready(function() {
//some codes
});
要在不同页面上执行具有不同属性的此插件,需要在document.ready中初始化它。
$(document).ready(function() {
$("#theForm").validate();
});
这样就可以将文档准备好2次了吗?
问题#2
此插件在单击提交按钮后有效。我希望它还为输入字段验证 onblur 。它还具有在 onfocusout 上验证的属性,但在单击提交按钮后也可以处理错误。 那么在单击提交按钮之前,是否还要使验证也适用于模糊或聚焦?
任何帮助都将受到高度赞赏。提前谢谢你的朋友。
答案 0 :(得分:2)
是的,是的。您可以在页面上添加任何$(document).ready();
。在定义方法时,需要在DOM中呈现元素之前的函数。
如果你把你的javascript放在页面的最底部(在你的html元素渲染之后),你可以保留它。
例如,在这种情况下,它需要:
<script>
//before create the element
$(function() { //same as document ready
$('#element').on('click', function () {
alert('Hi');
});
});
</script>
<div id="element">some text</div>
但在这种情况下不是:
<div id="element"></div>
<script>
//Your element has already rendered
$('#element').on('click', function () {
alert('Hi');
});
</script>
你可以在模糊时使用你的验证。
$('#myInput').on('blur', function() {
$("#theForm").validate();
});
当你通过javascript操作DOM时,这些是基础知识,这是另一个故事。
答案 1 :(得分:0)
使用此功能验证模糊:
$(document).ready(function() {
var $theForm = $("#theForm"),
$form = $theForm.validate();
//changed to check every textbox type input inside #theForm:
$theForm.on("blur", "input[type='text']", function(e){
//use element() to test only one element:
if ($form.element(this)) {
console.log("is valid");
}
});
});
Validator.form()
描述:验证表单,如果有效则返回true,false 否则。
Validator.element(element)
描述:验证单个元素,如果有效则返回true, 否则就是假的。
更多信息:
https://jqueryvalidation.org/Validator.form/
https://jqueryvalidation.org/Validator.element/
工作示例: