2013-12-20 132 views
0

我想写一个简单的函数,它会在发送表单后显示一个警报,但我做错了什么。这里是我的代码:jQuery函数返回undefined

$(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)返回正确的值,它是“成功”。我在这里错过了什么?

回答

5
.append('<p>'+alert.msg+'</p>'); 

alert.msg在这里不存在,因为它会尝试和解决。 msg,而不是数组属性。

Try:.append('<p>'+alert[msg]+'</p>');