firebug和chrome控制台都消失了console.log消息

问题描述 投票:2回答:3

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

application.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
3个回答
3
投票

preventDefault是一种方法,您需要:

e.preventDefault();

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


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);
    });
});

1
投票

在浏览器控制台中,转到设置(在右上角),然后检查 保存日志选项。那应该阻止页面重新加载。

© www.soinside.com 2019 - 2024. All rights reserved.