3

最初のサイトをゼロから作成しています - フォームと、フォームが送信されたときに機能する関数があります。

アプリケーション.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>
4

3 に答える 3

3

preventDefault はメソッドです。次のものが必要です。

e.preventDefault();

質問コードでは、フォームが送信されたため、コンソールが更新されました。

于 2013-06-01T15:34:50.690 に答える
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);
    });
});
于 2013-06-01T15:40:36.410 に答える