我有一个大表格分布在3个标签上。选项卡由JS控制,只需更改css属性display:block to display:none,具体取决于您单击的选项卡。
此表单还通过php将数据提交到3个不同的表。当我在第3个选项卡的末尾提交我的表单时,我的一些数据在一个接受多行的表中丢失(另外两个表只接受一行)在表单的这一部分我让用户添加尽可能多的“房间”,因为他们需要。房间只有几个选择框,额外的选择框也添加了JS。当我提交表格时,只有第一个“房间”被添加到表格中。
我很肯定每件事情都在工作,好像我删除了它完美运行的标签,或者即使我将表单的所有三个部分添加到一个标签就可以了。下面是PHP输入房间和循环取决于有多少。对不起,这是一个非常大的形式,所以我不想只是坚持下去,但它都非常简单,一切正常。如果有帮助,请告诉我是否应该添加我的代码的任何其他部分。
$level = $_POST['level'];
$room_type = $_POST['room_type'];
$width = $_POST['width'];
$length = $_POST['length'];
$num_rooms = count($level);
for($x=0;$x<$num_rooms;$x++)
{
$room_insert = mysqli_query($dbcon, "INSERT INTO listing_rooms (Listing_ID, Level, Type, Length, Width) VALUES ('$listing_id', '$level[$x]', '$room_type[$x]', '$length[$x]', '$width[$x]')") or die(mysql_error());
}
为了触发这个,我在上面有一个if(isset())。谢谢你的帮助。
这是显示和隐藏标签的JS ......
function showHideTab(tab_id) {
if (tab_id == 'details_tab'){
document.getElementById('listing_details').style.display='block';
document.getElementById('listing_info').style.display='none';
document.getElementById('photo_upload').style.display='none';
}else if (tab_id == 'info_tab') {
document.getElementById('listing_info').style.display='block';
document.getElementById('listing_details').style.display='none';
document.getElementById('photo_upload').style.display='none';
}
else if (tab_id == 'upload_tab') {
document.getElementById('photo_upload').style.display='block';
document.getElementById('listing_info').style.display='none';
document.getElementById('listing_details').style.display='none';
}
}
答案 0 :(得分:0)
我认为这是一个非常简单的错误。正如我所说,我有三个div被JS显示或隐藏。我的问题是我在第一个div中打开了FORM标签!
我仍然不知道为什么除了开场表格标签之外,其他所有“房间”数组都工作得很好,甚至数组都保持第一个价值?