在javascript中构建数组

时间:2016-11-10 14:37:07

标签: javascript html

我正在尝试使用HTML表单上的用户输入在javascript中构建一个数组。似乎数组正常构建,直到它到达.push,然后我得到一个错误

  

employeeid undefined

,即使我知道它正在填充,我可以在运行调试模式时看到这一点。

HTML

  <div class="wel" align="left">

    <form class="form-signin">

        <p>
            <input type="text" class="form-control" id="EmployeeID" name="EmployeeID" placeholder="EmployeeID" required="" autofocus="" />
        </p>
        <p>
            <input type="text" class="form-control" id="fullname" name="fullname" placeholder="FullName" required="" autofocus="" />
        </p>
        <p>
            <input type="text" class="form-control" id="username" name="username" placeholder="UserName" required="" autofocus="" />
        </p>
        <p>
            <input type="email" class="form-control" id="Email" name="Email" placeholder="Email" required="" autofocus="" />
        </p>
        <p>
            <input type="password" class="form-control" id="Password" name="Password" placeholder="password" required="" autofocus="" />
        </p>
        <p>
            <input type="password" class="form-control" id="Password1" name="ConfirmPassword" placeholder="password" required="" autofocus="" />
        </p>

        <a id='subButton' class="btn btn-primary btn-lg" style="vertical-align: bottom">submit</a>

    </form>
</div

的javascript

  $(document)
    .ready(function() {

        var arrayDetails = new Array();
        var holdingArray = new Array();

        function newEntry(employeeId, fullname, username, email, password) {

            this.employeeId = employeeId;
            this.fullname = fullname;
            this.username = username;
            this.email = email;
            this.Password = password;

        }

            $("#subButton")
            .click(function () {

                debugger;

                var success = true;

                var password = document.getElementById("Password");
                var password1 = document.getElementById("Password1");

                if (password.value !== password1.value)
                {
                    alert("Password do not match");
                }
                else
                {
                    var employeeIdEntered = document.getElementById("EmployeeID").value;

                    if (employeeIdEntered === "") {
                        success = false;
                    }

                    var fullnameentered = document.getElementById("fullname").value;

                    if (fullnameentered === "") {
                        success = false;
                    }

                    var usernameEntered = document.getElementById("username").value;

                    if (usernameEntered === "") {
                        success = false;
                    }

                    var emailEntered = document.getElementById("Email").value;

                    if (emailEntered === "") {
                        success = false;
                    }

                    var passwordEnterned = document.getElementById("Password").value;

                    if (passwordEnterned === "") {
                        success = false;
                    }

                    var entry = newEntry(employeeIdEntered,
                        fullnameentered,
                        usernameEntered,
                        emailEntered,
                        passwordEnterned);

                    arrayDetails.push(entry);
                };

                if (success)
                {
                    sendToController();
                } else
                {
                    alert("");
                }

            });

1 个答案:

答案 0 :(得分:1)

您的newEntry()函数缺少return语句。不要为此添加属性,而是添加

function newEntry(employeeId, fullname, username, email, password) {
        var res = {};
        res.employeeId = employeeId;
        res.fullname = fullname;
        res.username = username;
        res.email = email;
        res.Password = password;
        return res;
    }