jquery表单验证
我使用jquery插件实现了一个快速简便的功能。我的表单使用输入的默认值作为标签,我有一个小的onfocus和onblur javascript函数,在用户开始键入时显示和隐藏:jquery表单验证,jquery,validation,Jquery,Validation,我使用jquery插件实现了一个快速简便的功能。我的表单使用输入的默认值作为标签,我有一个小的onfocus和onblur javascript函数,在用户开始键入时显示和隐藏: <input name='fnameREG' type='text' id='fnameREG' value='first name' size='70' onfocus='clearInput(this)' onblur='clearInput(this)' /> <input name='lnam
<input name='fnameREG' type='text' id='fnameREG' value='first name' size='70' onfocus='clearInput(this)' onblur='clearInput(this)' />
<input name='lnameREG' type='text' id='lnameREG' value='last name' size='70' onfocus='clearInput(this)' onblur='clearInput(this)' />
马克。。。下面是我的clearInput函数。是的,它基本上与水印效果相同,但我现在使用它,看不出有什么理由切换。虽然如果我找不到其他方法,我会使用它,但它只会涉及删除一些标记:
function clearInput(field){
if (field.defaultValue == field.value){
field.value = '';
}
else if (field.value == ''){
field.value = field.defaultValue;
}
}
我不确定clearInput的功能,但你是否在寻找水印效果
我不确定clearInput的功能是什么,但是你在寻找水印效果吗
以下是我在客户网站上做的一些事情:
var default_values = new Array();
$(document).ready(function() {
$("input.inputStyle, textarea").focus(function() {
if(!default_values[this.id]) {
default_values[this.id] = this.value;
}
if(this.value == default_values[this.id]) this.value = '';
});
$("#submit").click(function() {
var error_queue = new Array();
var errMessage = 'Please fill out the following fields:\n + ';
$("input.inputStyle, textarea").each(function(i) {
if(!default_values[this.id]) {
default_values[this.id] = this.value;
}
if(this.value == '' || this.value == default_values[this.id])
error_queue[error_queue.length] = default_values[this.id];
});
if(error_queue.length > 0) {
alert(errMessage + error_queue.join('\n + '));
return false;
}
});
});
以下是我在客户网站上做的一些事情:
var default_values = new Array();
$(document).ready(function() {
$("input.inputStyle, textarea").focus(function() {
if(!default_values[this.id]) {
default_values[this.id] = this.value;
}
if(this.value == default_values[this.id]) this.value = '';
});
$("#submit").click(function() {
var error_queue = new Array();
var errMessage = 'Please fill out the following fields:\n + ';
$("input.inputStyle, textarea").each(function(i) {
if(!default_values[this.id]) {
default_values[this.id] = this.value;
}
if(this.value == '' || this.value == default_values[this.id])
error_queue[error_queue.length] = default_values[this.id];
});
if(error_queue.length > 0) {
alert(errMessage + error_queue.join('\n + '));
return false;
}
});
});
你有没有试过这样的方法:
jQuery.validator.addMethod("deflt", function(value, element) {
return this.optional(element) || value == element.defaultValue;
}, "You must enter a value");
“value”应该只是元素的字符串值,因此它不会有“defaultValue”属性,但“element”可能有“defaultValue”您是否尝试过类似的方法:
jQuery.validator.addMethod("deflt", function(value, element) {
return this.optional(element) || value == element.defaultValue;
}, "You must enter a value");
“value”应该只是元素的字符串值,因此它没有“defaultValue”属性,但是“element”可能有一个“defaultValue”谢谢。我仍然希望这个插件能够正常工作,我总是认为涉及的代码/标记越少,对它的理解就越好。我仍然希望这个插件能够正常工作,我一直认为,涉及的代码/标记越少,我仍然倾向于使用水印,而不是编写自己的验证函数。您将编写越来越多的验证方法来解释默认值(例如defltRegex)。水印将与您使用的任何验证方法一起使用,它将允许您设置水印样式,使其看起来像指令,而不是实际的默认值。我仍然倾向于使用水印,而不是编写您自己的验证函数。您将编写越来越多的验证方法来解释默认值(例如defltRegex)。水印将与您使用的任何验证方法一起使用,它将允许您设置水印样式,使其看起来像指令,而不是实际的默认值。