javascript - 选择的值未显示在输入值中

标签 javascript jquery node.js mongodb

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

下面是添加它的函数的 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

最佳答案

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

$('#addUser fieldset input#inputlocation')

与选择元素不匹配,那就是

$('#addUser fieldset select#inputlocation')

但是他们都错了,应该只是

$('#inputlocation')

关于javascript - 选择的值未显示在输入值中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30424767/

相关文章:

javascript - 谷歌应用程序脚本,用于呈现数组值供用户选择

javascript - 为什么更改输入不会触发更改事件?

javascript - 为什么我的 Vue 单元测试无法识别函数?

javascript - 从 URL 加载变量,仅适用于数字?

javascript - 在我的例子中如何创建 setTimeout ?

javascript - 错误 : write EPIPE with node. js 和 imagemagick

node.js - req.params 返回未定义

javascript - 回滚菜单时 CSS 下拉菜单跳转

jquery - 显示加载 gif 直到所有图像加载完毕?

javascript - require()函数的Node.js源码