如何使用JQuery将值数组插入到数据库中
How to insert an array of values into your database using JQuery
我在html页面上设置了几天(星期一、星期二…)的复选框,我想将它们添加到我的数据库中。我需要将它们添加到DaysWorked,这是一个字符串数组。这是我到目前为止的代码
var newUser = {
'username': $('#addUser fieldset input#inputUserName').val(),
'password': $('#addUser fieldset input#inputUserPassword').val(),
'email': $('#addUser fieldset input#inputUserEmail').val(),
'fname': $('#addUser fieldset input#inputUserFname').val(),
'sname': $('#addUser fieldset input#inputUserSname').val(),
'JobType': $('#addUser fieldset select#inputUserJobType').val(),
'ShiftType': $('#addUser fieldset select#inputUserShiftType').val(),
'DaysWorked': $('#addUser fieldset input#inputUserMonday').val(),
'DaysWorked': $('#addUser fieldset input#inputUserTuesday').val(),
'DaysWorked': $('#addUser fieldset input#inputUserWendsday').val(),
'DaysWorked': $('#addUser fieldset input#inputUserThursday').val(),
'DaysWorked': $('#addUser fieldset input#inputUserFriday').val(),
'DaysWorked': $('#addUser fieldset input#inputUserSaturday').val(),
'DaysWorked': $('#addUser fieldset input#inputUserSunday' ).val(),
'HoursPerWeek': $('#addUser fieldset input#inputUserHoursPerWeek').val()
}
我知道我所有的其他代码都能工作,但问题是,我只是不知道如何将日期添加到对象newUser的数组中。
我想,这对你有用:
var newUser = {
'username': $('#addUser fieldset input#inputUserName').val(),
'password': $('#addUser fieldset input#inputUserPassword').val(),
'email': $('#addUser fieldset input#inputUserEmail').val(),
'fname': $('#addUser fieldset input#inputUserFname').val(),
'sname': $('#addUser fieldset input#inputUserSname').val(),
'JobType': $('#addUser fieldset select#inputUserJobType').val(),
'ShiftType': $('#addUser fieldset select#inputUserShiftType').val(),
'DaysWorked': [
$('#addUser fieldset input#inputUserMonday').val(),
$('#addUser fieldset input#inputUserTuesday').val(),
$('#addUser fieldset input#inputUserWendsday').val(),
$('#addUser fieldset input#inputUserThursday').val(),
$('#addUser fieldset input#inputUserFriday').val(),
$('#addUser fieldset input#inputUserSaturday').val(),
$('#addUser fieldset input#inputUserSunday' ).val()
],
'HoursPerWeek': $('#addUser fieldset input#inputUserHoursPerWeek').val()
}
具有选择器缓存的解决方案:
var fieldset = $('#addUser fieldset');
var newUser =
{
'username': fieldset.find('input#inputUserName').val(),
'password': fieldset.find('input#inputUserPassword').val(),
'email': fieldset.find('input#inputUserEmail').val(),
'fname': fieldset.find('input#inputUserFname').val(),
'sname': fieldset.find('input#inputUserSname').val(),
'JobType': fieldset.find('select#inputUserJobType').val(),
'ShiftType': fieldset.find('fieldset select#inputUserShiftType').val(),
'DaysWorked':
[
fieldset.find('input#inputUserMonday').val(),
fieldset.find('input#inputUserTuesday').val(),
fieldset.find('input#inputUserWendsday').val(),
fieldset.find('input#inputUserThursday').val(),
fieldset.find('input#inputUserFriday').val(),
fieldset.find('input#inputUserSaturday').val(),
fieldset.find('input#inputUserSunday' ).val()
],
'HoursPerWeek': fieldset.find('input#inputUserHoursPerWeek').val()
};
假设您的输入是唯一命名的,那么input#
也是冗余的,并且可以更改为输入id,例如#inputUserName
,这是对元素的更快查找。
这个过程最好移到对象散列中,这样它就更像OCP了。然后,您可以迭代对象散列键,并使用每个值作为返回newUser散列值的策略。
为什么不使用类似的东西:`
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> </title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
<input type="text" class="input-set" id="x">
<input type="text" class="input-set" id="y">
<input type="text" class="input-set" id="z">
<input type="submit" class="go">
<script>
jQuery(document).ready(function($) {
$('.go').click(function() {
var allInputs = $('.input-set');
daysWorked = []
allInputs.each(function(index, el) {
daysWorked.push($(el).val());
});
console.log(daysWorked)
});
});
</script>
</body>
</html>
`
您正在从输入中获取所有值,并将其放入数组中。然后你可以把它作为一个档案发送。
var newUser = {
'username': $('#addUser fieldset input#inputUserName').val(),
'password': $('#addUser fieldset input#inputUserPassword').val(),
'email': $('#addUser fieldset input#inputUserEmail').val(),
'fname': $('#addUser fieldset input#inputUserFname').val(),
'sname': $('#addUser fieldset input#inputUserSname').val(),
'JobType': $('#addUser fieldset select#inputUserJobType').val(),
'ShiftType': $('#addUser fieldset select#inputUserShiftType').val(),
'DaysWorked': daysWorked,
'HoursPerWeek': $('#addUser fieldset input#inputUserHoursPerWeek').val()
}
相关文章:
- 使用formData使用ajax将图像插入数据库
- 如何访问日期并将其插入数据库?节点.JS&MongoDB
- 使用Mysqli、PHP和AJAX的聊天系统正在将空白消息插入数据库
- AJAX PHP 连接将行插入数据库
- 使用 pur Html 和 Javascript 将文件插入数据库
- 将表单数据插入数据库后无法重定向到 html 页面
- 将整数变量插入数据库
- 单击按钮可多次动态添加选择框、文本框和日期,并将这些值插入数据库
- 动态选择列表AJAX和插入数据库表通过张贴形式
- 无法使用ajax序列化功能将图像插入数据库
- 使用ajax进行内联编辑(将值插入数据库)
- 将捕获的图像插入数据库问题(Cordova/SQlite/JavaScript)
- 如何在 PHP 中将动态表值插入数据库
- 将数据插入数据库express/mongodb应用程序时出错
- 通过API将视频信息插入数据库
- 我想单击一个
- 并获取 id 以通过 POST 将其插入数据库,可以吗?
- 如何将翻译后的文本插入数据库 php
- PHP-插入数据库而不刷新页面(OOP)
- MongoDB在将文档插入数据库之前为空集合
- 将本地存储值插入数据库