matlab的匿名函数的作用域,js匿名函数作用域问题

这篇博客探讨了一个JavaScript代码示例,该示例用于处理登录表单的验证和事件监听。代码中包含了对手机号码和密码输入的焦点及提交事件的监听,通过正则表达式检查输入的有效性,并使用CSS类来显示错误状态。此外,还提到了将`getElementsByTagName`返回的HTML集合转换为数组以便使用`forEach`方法的问题。
摘要由CSDN通过智能技术生成

问题已经解决,属于个例问题;不具有普遍参考性

代码如下:

(function(){

var loginForm = document.forms.loginForm;

var login_inputs = loginForm.getElementsByTagName('input');

...

login_inputs .forEach(function(item,index,array){});

})()

代码中报错:

login_inputs is not defined

login_inputs .forEach is not a function

loginForm测试正常

开发工具sublime

Document

body,legend,input,button{

margin: 0;

padding: 0;

font: 21px "微软雅黑";

}

#loginForm{

width: 515px;

margin: 150px auto;

border: 1px solid #ddd;

}

#loginForm legend{

padding-left:24px;

box-sizing: border-box;

width: 100%;

height: 45px;

line-height: 45px;

background-color: #2D2D2D;

color: #fff;

}

#loginForm fieldset{

border: none;

}

#loginForm div{

margin: 30px 65px;

}

#login{

width: 100%;

height: 43px;

line-height: 43px;

border: none;

text-align: center;

color: #fff;

background-color: #347BD0;

cursor: pointer;

}

.invalid{

border-color: red;

color: red;

}

.disabled{

background-color: #ddd;

cursor: default;

}

手机号码登录

手机号:

密 码:

登 录

(function(){

var input_modile = document.getElementById('mobile'),

input_password = document.getElementById('password'),

loginBtn = document.getElementById('login'),

loginForm = document.forms.loginForm,

login_inputs = loginForm.getElementsByTagName('input');

login_inputs = Array.prototype.slice.call(login_inputs);

function addCss(elm,clazz){

elm.classList.add(clazz);

}

input_modile.addEventListener('blur', function(){

var value = input_modile.value;

var isNext = (/1\d{10}/).test(value);

if(isNext == false){

addCss(input_modile,'invalid');

}

});

login_inputs.forEach(function(item,index,array){

item.addEventListener('focus', function(){

item.className = " ";

})

})

input_password.addEventListener('submit', function(){

var value = input_password.value;

var isNext = (/.{6,16}/).test(value);

if(!isNext){

addCss(input_password,'invalid');

} else {

addCss(loginBtn,'disabled');

}

})

})();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值