来自Select的值不显示在输入值中

时间:2015-05-24 14:45:50

标签: javascript jquery node.js mongodb

select选项位于字段集中,并使用AJAX将数据发布到Mongodb。由于某种原因,除了location选项之外,所有其他值都将显示在DB中。

以下是用于添加它的函数的Jade代码和JS。这是我的第一个项目,不确定我是否只是遗漏了一些明显的东西。

此外,当我将某些输入的类型更改为数字时,它会使所有内容无效,并且会在没有附加数据的情况下发布和输入数据库。有什么想法吗?



// Add User
function addUser(event) {
    event.preventDefault();

    // Super basic validation - increase errorCount variable if any fields are blank
    var errorCount = 0;
    $('#addUser input').each(function(index, val) {
        if($(this).val() === '') { errorCount++; }
    });

    // Check and make sure errorCount's still at zero
    if(errorCount === 0) {

        // If it is, compile all user info into one object
        var newUser = {
            'Date_Entered': $('#addUser fieldset input#inputDate_Entered').val(),
            'First_Name': $('#addUser fieldset input#inputFirst_Name').val(),
            'Last_Name': $('#addUser fieldset input#inputLast_Name').val(),
            'Incident_Date': $('#addUser fieldset input#inputIncident_Date').val(),
            'Resoulution_Date': $('#addUser fieldset input#inputResolution_Date').val(),
            'Location': $('#addUser fieldset input#inputlocation').val(),
            'Damage': $('#addUser fieldset input#inputDamage').val(),
            'Cost': $('#addUser fieldset input#inputCost').val(),
            'Coupon': $('#addUser fieldset input#inputCoupon').val(),
            'Vehicle_Year': $('#addUser fieldset input#inputVehicle_Year').val(),
            'Make': $('#addUser fieldset input#inputMake').val(),
            'Resolution': $('#addUser fieldset input#inputResolution').val(),
            'Model': $('#addUser fieldset input#inputModel').val(),
            'Comments': $('#addUser fieldset input#inputComments').val(),
            'Claim_type': $('#addUser fieldset input#inputClaim_type').val(),
            'ManagersName': $('#addUser fieldset input#inputManagersName').val(),
            'Resolution_Date': $('#addUser fieldset input#inputResolution_Date').val(),
            'CouponQuantity': $('#addUser fieldset input#inputCouponQuantity').val(),
            'CouponType': $('#addUser fieldset input#inputCouponType').val(),
            'Address': $('#addUser fieldset input#inputAddress').val(),
            'City': $('#addUser fieldset input#inputCity').val(),
            'State': $('#addUser fieldset input#inputState').val(),
            'Zip': $('#addUser fieldset input#inputZip').val(),
            'Email': $('#addUser fieldset input#inputEmail').val(),
        }

        // Use AJAX to post the object to our adduser service
        $.ajax({
            type: 'POST',
            data: newUser,
            url: '/users/adduser',
            dataType: 'JSON'
        }).done(function( response ) {

            // Check for successful (blank) response
            if (response.msg === '') {

                // Clear the form inputs
                $('#addUser fieldset input').val('');

                // Update the table
                populateTable();

            }
            else {

                // If something goes wrong, alert the error message that our service returned
                alert('Error: ' + response.msg);

            }
        });
    }
    else {
        // If errorCount is more than 0, error out
        alert('Please fill in all fields');
        return false;
    }
};

        // ADD USER
        h2 Add User
        #addUser
            fieldset
                input#inputDate_Entered(type='date', placeholder='Username')
                input#inputFirst_Name(type='text', placeholder='Email')
                br
                input#inputLast_Name(type='text', placeholder='Full Name')
                input#inputIncident_Date(type='date', placeholder='Age')
                br
                input#inputResolution_Date(type='date', placeholder='Location')
                p
                label
                  select#inputlocation(type='text', tabindex='#{tab_index++}')
                    option 11 North Mchenry
                    option 12 Ceres
                    option 13 Turlock
                    option 14 Briggsmore
                    option 15 Merced
                    option 16 Lodi
                    option 18 Dale Road
                    option 19 Oakdale
                    option 20 Riverbank
                    option 21 Atwater
                    option 22 Plaza
                    option 23 Manteca
                    option 24 South Mchenry
                    option 25 Tracy
                    option 26 University
                    option 27 Whitmore
                br
                input#inputDamage(type='text', placeholder='Damage Type')
                input#inputCost(type='text', placeholder='Cost')
                br
                input#inputCoupon(type='text', placeholder='Coupon')
                input#inputVehicle_Year(type='text', placeholder='Year')
                br
                input#inputMake(type='text', placeholder='Make')
                input#inputResolution(type='text', placeholder='Resolution')
                input#inputModel(type='text', placeholder='Model')
                input#inputComments(type='text', placeholder='Comments')
                br
                input#inputClaim_type(type='text', placeholder='Claim Type')
                input#inputManagersName(type='text', placeholder='Managers Name')
                br
                input#inputResolution_Date(type='text', placeholder='Resolved')
                input#inputCouponQuantity(type='text', placeholder='Coupon Quantity')
                br
                input#inputCouponType(type='text', placeholder='Coupon Type')
                input#inputAddress(type='text', placeholder='Address')
                br
                input#inputCity(type='text', placeholder='City')
                input#inputState(type='text', placeholder='State')
                br
                input#inputZip(type='text', placeholder='Zip')
                input#inputEmail(type='text', placeholder='Email')
                button#btnAddUser Add User




1 个答案:

答案 0 :(得分:1)

问题实际上是奇怪的选择器,这个

$('#addUser fieldset input#inputlocation')

与select元素不匹配,即

$('#addUser fieldset select#inputlocation')

但他们都错了,应该只是

$('#inputlocation')