发布于2021-10-11 12:14 阅读(1376) 评论(0) 点赞(5) 收藏(5)
<input type="text" value="2021-05-01" class="date" name="date">
<input type="text" value="10:00" class="starttime" name="starttime">
<input type="text" value="17:00" class="endtime" name="endtime">
<input type="text" value="7" class="hours" name="hours">
通常我处理这些数据如下所示:
var date $('.date');val();
var starttime $('.starttime');val();
var endtime $('.endtime');val();
var hours $('.hours');val();
$.ajax({
url: 'process.php',
data: {
date: date,
starttime: starttime,
endtime: endtime,
hours: hours,
},
type: "POST",
success: function (data) {
$('.response').html(data); // echo success in div .response
},
});
还有我的 php:
$maydata = [];
$maydata['date'] = $_POST['date'];
$maydata['starttime'] = $_POST['starttime'];
$maydata['endtime'] = $_POST['endtime'];
$maydata['hours'] = $_POST['hours'];
$id = 'id_'.$maydata['date'].str_replace('-','',$maydata['date']); // stirp out hyphens from date
$file = 'data/'.$id.'.json';
$jsonData = json_encode($maydata, JSON_NUMERIC_CHECK | JSON_PRETTY_PRINT);
file_put_contents($file, $jsonData);
echo 'data stored succesfully!';
我的 json 文件 (id_20210501.json) 如下所示:
{
"date": "2021-05-01",
"starttime": "10:00",
"endtime": "17:00",
"hours": 7
}
上述表格仅包含 5 月 1 日及其开始时间、结束时间和小时数。
我怎样才能在五月的所有日子里轻松做到这一点(例如)?
所以我的表格看起来像:
<input type="text" value="2021-05-01" class="date" name="startdate">
<input type="text" value="10:00" class="starttime" name="starttime">
<input type="text" value="17:00" class="endtime" name="endtime">
<input type="text" value="7" class="hours" name="total">
<input type="text" value="2021-05-02" class="date" name="startdate">
<input type="text" value="11:00" class="starttime" name="starttime">
<input type="text" value="17:00" class="endtime" name="endtime">
<input type="text" value="6" class="hours" name="total">
// and so on till 2021-05-31
要在 HTML 表单中提交多个具有相同名称的字段,您需要在名称属性中使用数组语法:
<input type="text" value="2021-05-01" class="date" name="startdate[]">
<input type="text" value="10:00" class="starttime" name="starttime[]">
<input type="text" value="17:00" class="endtime" name="endtime[]">
<input type="text" value="7" class="hours" name="total[]">
<input type="text" value="2021-05-02" class="date" name="startdate[]">
<input type="text" value="11:00" class="starttime" name="starttime[]">
<input type="text" value="17:00" class="endtime" name="endtime[]">
<input type="text" value="6" class="hours" name="total[]">
然后在 jQuery 中,而不是单独拉出每个字段,只需让 jQuery自动为您序列化整个表单:
data: $("#form").serialize()
(显然,将“#form”选择器替换为您表单的真实 ID - 它在您的问题中不可见,所以我不能在这里使用它。)
这将为您提供$_POST
服务器端的多维值数组。
作者:黑洞官方问答小能手
链接:http://www.qianduanheidong.com/blog/article/201243/42136bad6a90c2c643c5/
来源:前端黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 前端黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-3
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!