选择选项位于字段集中,并使用 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/