尝试使用元素ID访问对象值的本地javascript
Trying to use element ID to access object values native javascript
我正在尝试编写一些代码来验证表单。我只想使用本机js(即没有jQuery等),此外我还想避开内联事件。
(的简化版本)表单如下所示:
<body onload="addListener()">
<div class="center">
<form method="get" name="signUpForm">
<input type="text" id="firstName"><br />
<input type="text" id="lastName"><br />
<input type="text" id="age"><br />
<input type="submit" value="Submit">
</form>
</div>
然后,我所做的是创建一个对象来包含与每个字段相关的相关信息(我刚刚在这里添加了最初的一个,以给你一个想法:
var Field = { req: true,
minlength: 2,
maxlength: 20,
errorMessage: "",
regex: /[^a-zA-Z- ]/}
var firstName = Object.create(Field);
firstName.maxlength = 30;
firstName.errorMessage = "Please enter a first name between one and twenty letters. Please use only uppercase and lowercase letters spaces and hyphens.";
firstName.regex = /[^a-zA-Z- ]/;
我现在想做的是使用触发事件的字段的id来访问field对象中包含的信息。
到目前为止,我写的两个非常简单的函数是:
function addListener(){
document.body.addEventListener('keyup', eventIdentify);
}
function eventIdentify(){
var target = event.target || event.srcElement;
var id = target.id
console.log(id.maxlength);
}
然而,在这变成了一场噩梦的地方,id.maxlength不断返回undefined。
如果我用:"console.log(firstName.maxrength);"来尝试它,那么它很好,但显然这违背了要点。不确定这里发生了什么,我怀疑这与id被用来引用两个不同的东西(元素id和对象)有关,但我对此很陌生,也不确定。
如果有人能为我指明正确的方向,我将不胜感激。
提前感谢Stef
target.id
是一个字符串,因此它没有maxlength
属性。一个快速的解决方案是访问名为您的id:的de variable
console.log(window[target.id].maxlength)
尽管如此,一个更好的方法是创建一个对象,并包含您已经拥有的其他对象:
var obj={};
obj.firstName=firstName;
然后你可以做:
console.log(obj[target.id].maxlength)
相关文章:
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 循环遍历以数组为值的Javascript对象
- 从ajax请求中获取javascript对象
- 如何从对象的原型方法访问JavaScript对象属性
- 将XML转换为普通的旧JavaScript对象
- 通过引用传递JavaScript对象
- javascript对象操作:根据指定条件选择属性
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 如何在异步函数中使用javascript对象
- 临时Javascript对象
- 如何在ASP中为用户控件添加Javascript对象网
- 使用数组向下搜索Javascript对象
- Rails将JavaScript对象存储到Model的有效方式
- JavaScript对象不是从原型链继承的
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- SetInterval在javascript对象中表现怪异
- Javascript 对象和 this 关键字
- 如何在不知道关键字的情况下访问javascript对象值
- 在 JavaScript 对象中设置要使用的运算符的属性
- 如何搜索JavaScript对象并更改值