我有一个需要通过.onblur验证输入,使得无论何时文本输入失去焦点,它都会被相同的JS函数验证。简单的动态形式
我的问题是与JS功能。我想抓住失去焦点的物品的价值。
function valid(){
if (isNaN("this should be the value of the text item??")){
}
Thankss ..
我有一个需要通过.onblur验证输入,使得无论何时文本输入失去焦点,它都会被相同的JS函数验证。简单的动态形式
我的问题是与JS功能。我想抓住失去焦点的物品的价值。
function valid(){
if (isNaN("this should be the value of the text item??")){
}
Thankss ..
抢你模糊的物品的价值,你应该onBlur
触发添加到DOM元素如下:
<input type="text" name="validate_me" onBlur="valid(this);" />
你有机会这样到触发了onBlur
事件的DOM元素,并且可以访问其属性(例如在textarea
元素的情况下为value
或innerHTML
。
你valid
功能可以是这样的:
function valid(element) {
if (element.value != '' && isNaN(element.value))
alert('This field is not valid!');
};
是的,谢谢。但我如何在JS中这样做。 :( – 2013-02-19 15:49:46
你可以使用'document.onLoad'来注册一个方法,该方法将使用'document.getElementByTagName('input')'查找所有输入,然后为每个输入注册'onBlur'监听器 – Lucas 2013-02-19 15:56:47
这个JavaScript应该做你所要求的:
(function(){
var after = function(existing,after) {
if (existing == null || typeof existing !== 'function') {
return after;
}
else {
return function() { existing(arguments); after(arguments); }
}
}
var validate = function(input) {
alert('validating ' + input.name);
}
window.onload = after(window.onload, function() {
var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type === 'text') {
inputs[i].onblur = after(inputs[i].onblur, function() {
validate(this);
});
}
}
});
}());
很显然,你将不得不更换警报与验证功能的验证逻辑,但这应该做你所要求的。
一对夫妇的笔记时,立即调用功能是保证你不影响任何全局和after
功能是保证,如果你已经有一个连接监听器新的验证侦听器将现有的后调用一。
请张贴一些代码。 – j08691 2013-02-19 15:38:17