我想写一个简单的函数,它会在发送表单后显示警告,但我做错了。这是我的代码:
$(function() {
var alert_container = $('<div class="alert"></div>');
var alert = {
"success": "Success",
"error": "Error"
};
function show_message(msg) {
alert_container
.addClass(msg)
.append('<p>'+alert.msg+'</p>');
alert_container.insertBefore($("form")).hide().fadeIn(300);
}
$('form').on('submit', function(e) {
e.preventDefault();
show_message('success');
});
});
此代码在警告框内返回未定义,但如果我检查 console.log(alert.success)返回正确的值“Success”。我在这里缺少什么?
答案 0 :(得分:5)
.append('<p>'+alert.msg+'</p>');
此处 alert.msg
不存在,因为它会尝试解析。msg
,而不是数组属性。
尝试:.append('<p>'+alert[msg]+'</p>');