我正在尝试创建多种语言的表单验证错误消息。 不幸的是,将“目标”参数传输到我的函数不起作用。也许 target 被解释为字符串?!
function formMessages(field, target) {
var messages = {
'de' : {
'valueMissing': 'Bitte füllen Sie dieses Feld aus.',
'typeMismatch': {
'email': 'Bitte geben Sie eine E-Mail ein.',
'url': 'Bitte geben Sie eine URL ein.'
}
}
};
// Don't work!
// return messages.de.target;
// This works! But it is not dynamic!
// return messages.de.typeMismatch.email;
}
if (validity.typeMismatch) {
// Email
if (field.type === 'email') return formMessages(field, 'typeMismatch.email');
}
最佳答案
使用 eval 方法
return eval('messages.de.'+target);
关于javascript - 如何通过函数获取某个对象的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49688524/