Javascript 使用内爆和ajax插入复选框值
我想插入我的复选框值,我不知道如何使用ajax获取所有值,并使用内爆将它们插入一行Javascript 使用内爆和ajax插入复选框值,javascript,php,jquery,ajax,checkbox,Javascript,Php,Jquery,Ajax,Checkbox,我想插入我的复选框值,我不知道如何使用ajax获取所有值,并使用内爆将它们插入一行 //这是我获取数据的javascript, 函数saveData(){ var modsubc=$('#modalsubject').val(); var modsect=$('#modalsection').val(); var modday=$('#modalday').val(); var modstart=$('#modalstarttime').val(); var modend=$('#modale
//这是我获取数据的javascript,
函数saveData(){
var modsubc=$('#modalsubject').val();
var modsect=$('#modalsection').val();
var modday=$('#modalday').val();
var modstart=$('#modalstarttime').val();
var modend=$('#modalendtime').val();
var moduser=$('#userID').val();
$.ajax({
类型:“POST”,
url:“modal.funcs.php?p=add”,
数据:“subc=“+modsubc+”§=“+modsect+”&day=“+modday+”&start=“+modstart+”&end=“+modend+”&user=“+moduser
});
}
星期一
星期二
星期三
星期四
星期五
以下是如何向服务器发送列表
你可以爆炸一天来获得一系列的天
要添加更多项,请添加逗号和更多键值:
data: { day: modday.join(","),
subj:$('#modalsubject').val() // no comma on the last
}
$(函数(){
$(“#保存”)。在(“单击”,函数(){
saveData();
});
});
函数saveData(){
var modday=[];
$('.modalday:checked')。每个(函数(){
modday.push(这个值);
});
console.log(modday);
$.ajax({
类型:“POST”,
url:“modal.funcs.php?p=add”,
数据:{day:modday.join(“,”)}
});
}
星期一
星期二
星期三
星期四
星期五
Save
我自己也尝试过,我认为大多数操作都可以在saveData函数中进行,而不是在PHP中
我假设您将把id改为类,因为id应该是唯一的:
<input type="checkbox" class="modalday" name="modalday[]" value="M">Monday
然后,在modal.funcs.php中,您只需从$\u请求变量获取值并将其传递给函数:
<?php
$page = $_REQUEST['p'];
if ($page == 'add') {
$subj = $_REQUEST['subj'];
$sect = $_REQUEST['sect'];
$day = $_REQUEST['day'];
$strTime = $_REQUEST['start'];
$endTime = $_REQUEST['end'];
$user_id = $_REQUEST['user'];
$auth_user->createSchedule($subj,$sect,$day,$strTime,$endTime,$user_id);
$schedRow = $auth_user->readSchedule();
} else if ($page=='edit') {
}
id必须是唯一的,所以var modday=$('#modalday').val();这是行不通的。将id更改为class=“modalday”并循环从$(“.modalday:checked”)
返回的数组,然后如何使用它获取所有数据并使用内爆压缩它?请参阅对我的注释的修改。预期产量是多少?您可以将“M,T,Th,F”返回到PHP,例如,我专门按照您的说明操作,但仍然是一样的,您确定我可以这样做吗?我对我的代码不是很有信心,我期待着一些剧烈的变化,但如果这样做会很好,我认为我仍然缺少一些想法,但他需要键值对,这样他就可以在PHPNow中根据键提取值,他不需要内爆任何东西。复选框到达时已经爆炸了。他如何在没有键的情况下对值执行后期操作。albert,enistin将作为值发送,但应用程序如何知道名称和姓氏。如果它走了那就太好了,firstName=albert&lastName=eistinI没有你的评论。如果他将,“user”:+$(“#userID”).val()
添加到我的代码中,他将在php中获得$_POST[“user”]——他当前只内爆复选框。如果他没有预处理它们,那么名称-值对当前将是modalday[]=T,modalday[]=W,modalday[]=F
。[]的想法是向服务器交付一个数组,但由于他使用的是AJAX,并且想要内爆,那么名称值的用例在哪里呢?
var moddayAll = document.getElementsByClassName('modalday');
var modday = [];
for (let i = 0; i < moddayAll.length; i++) {
if (moddayAll[i].checked) {
modday.push(moddayAll[i].value);
}
}
var add = 'add';
$.post("modal.funcs.php", {p:add, subj:modsubj, sect:modsect, day:modday.join(","), start:modstart, end:modend, user:moduser},
function( data ) {
// do whatever you want with data returned from modal.funcs.php
}
);
<?php
$page = $_REQUEST['p'];
if ($page == 'add') {
$subj = $_REQUEST['subj'];
$sect = $_REQUEST['sect'];
$day = $_REQUEST['day'];
$strTime = $_REQUEST['start'];
$endTime = $_REQUEST['end'];
$user_id = $_REQUEST['user'];
$auth_user->createSchedule($subj,$sect,$day,$strTime,$endTime,$user_id);
$schedRow = $auth_user->readSchedule();
} else if ($page=='edit') {
}