【问题标题】:firebug and chrome console both have disappearing console.log messagesfirebug 和 chrome 控制台都有消失的 console.log 消息
【发布时间】:2013-05-28 06:43:45
【问题描述】:

我正在从头开始编写我的第一个网站 - 我有一个表单和一个在提交表单时起作用的函数:

应用程序.js

$(document).ready(function() {
    $("#signupform").submit(function(e) {
        var name = document.getElementById("pname").value;
        var email = document.getElementById("email").value;
        var userArray = [];
        var user = {
            name: name,
            email: email
        };
        console.log(user.email, user.name);
        e.preventDefault;
    });
});

消息被正确地记录到控制台...但这只是昙花一现——它会立即消失。另外......我在编写上述代码时遇到的任何错误也只在控制台中显示为短暂的光点。只是勉强够读。

这是我的 index.html 文件...如果它是相关的:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>it IT</title>
  <link rel="stylesheet" type="text/css" href="application.css" />
  <script src="jquery.js"></script> 
  <script src="application.js"></script>
  <!--[if lt IE 9]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  <![endif]-->
</head>
<body>
    <h1>it IT</h1>
    <div id="signup">
        <form id="signupform">
            Name: <input type="text" name="pname" id="pname"><br>
            Email: <input type="text" name="email" id="email"><br>
            <input type="submit" value="sign up">
        </form>
    </div>
    <div id="signin"></div>
    <div id="content"></div>
</body>
</html>

【问题讨论】:

    标签: javascript jquery html console firebug


    【解决方案1】:

    在您的浏览器控制台中,转到设置(在右上角)并选中保留日志选项。这应该可以防止页面重新加载。

    【讨论】:

    • 不会像重新加载那样清除整个日志,只是某些消息会消失。 “preseve log”被选中。
    【解决方案2】:

    其实e.preventDefault是不正确的,你需要这样做:

    $(document).ready(function () {
        $("#signupform").submit(function (e) {
            e.preventDefault();  // Missing () for preventDefault method
            var userArray = [];
            var user = {
                name: $('#pname').val(),  // also, you can get the values here only
                email: $('#email').val()  // no need to use extra variables for it
            };
            console.log(user.email, user.name);
        });
    });
    

    【讨论】:

      【解决方案3】:

      preventDefault 是一个方法,你需要:

      e.preventDefault();
      

      在您的问题代码中,表单已提交,因此控制台已刷新。

      【讨论】:

        猜你喜欢
        • 2011-10-26
        • 2011-03-15
        • 2017-10-23
        • 2014-04-26
        • 2011-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多