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

答案 0 :(得分:1)
问题实际上是奇怪的选择器,这个
$('#addUser fieldset input#inputlocation')
与select元素不匹配,即
$('#addUser fieldset select#inputlocation')
但他们都错了,应该只是
$('#inputlocation')