我确定我在这里确实缺少一些基本知识,但是它使我停留了大约一个小时,而且似乎无法解决问题。
基本上,我试图在一个对象中创建一个方法,该方法将检查html中的复选框值,如果为true,则在控制台的同一对象中显示三个值(最后,我将其写入表单的innerHTML中)。
以下代码仅在Firebug中将“ function()”写入控制台。显然,我正在尝试编写firstName lastName
电子邮件。我在这里错过了什么简单的事情?提前致谢!
function process() {
'use strict';
var firstName = document.getElementById("firstName").value;
var lastName = document.getElementById("lastName").value;
var email = document.getElementById("email").value;
var permission = document.getElementById("permission").checked;
var contactInfo = {
firstName: firstName,
lastName: lastName,
email: email,
permission: permission,
display: function() {
var contactCard;
if (this.permission == true) {
contactCard = firstName + " " + lastName + "<br />" + email
} else {
contactCard = "Permission Denied."
}
return contactCard;
}
};
console.log(contactInfo.display);
return false;
};
function init() {
'use strict';
document.getElementById('theForm').onsubmit = process;
};
window.onload = init;
console.log(contactInfo.display());
您需要调用该函数。
您当前仅拥有console.log(contactInfo.display);
display是一个函数,并且没有被执行(因此控制台实际上会打印的结果contactInfo.display.toString()
),这就是为什么看到“ function”而不是返回值“ contactCard”的原因。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句