PHP-多个表单,提交时从两个表单获取值?
我现在有点困了,需要一些帮助 我有一个日历,被多个部门用来输入他们的日程安排。要求每个用户填写1个选择字段和2个输入字段,这些字段分为表格1和表格2 表格1:PHP-多个表单,提交时从两个表单获取值?,php,html,forms,post,Php,Html,Forms,Post,我现在有点困了,需要一些帮助 我有一个日历,被多个部门用来输入他们的日程安排。要求每个用户填写1个选择字段和2个输入字段,这些字段分为表格1和表格2 表格1: 部门代码(单击提交事件) 表格2: 名字 日期 提交按钮 用户选择其部门代码后,日历将刷新并仅获取此特定部门的条目(这意味着它将筛选部门代码的所有记录)。之后,用户必须输入用户名并选择日期,然后按提交按钮(表格2) 现在,问题是为了正确提交表格2,我需要知道表格1中的部门代码。此外,当按下表单2的提交按钮时,我在阻止刷新日历(表单
- 部门代码(单击提交事件)
- 名字
- 日期
- 提交按钮
根据SiteTheep的建议,我将完全跳过
方法,并通过AJAX将结果提交到我的php处理程序文件中。工作起来很有魅力,没有令人讨厌的表单提交问题
JS
//保存新部门记录-保存按钮
$(“#提交按钮”)。单击(函数(){
//检查输入字段是否为空
如果($(“#holidex”).val()!=”&&&$(“#mod_name”).val()!=”&&&$(“#mod_date”).val()!=”){
$.ajax({
url:“../plugins/MySQL/ajax\u action.php”,
类型:“POST”,
async:true,
数据:{操作:“mod#u calendar”,键入:“new#u entry”,holidex:$(“#holidex”).val(),mod#u name:$(“#mod#u name”).val(),mod#u date:$(“#mod u date”).val(),
数据类型:“html”,
成功:功能(数据){
$('mod#u output').html(数据);
绘图可视化();
},
});
}否则{
//通知用户他们需要输入数据
提醒(“请从列表中选择酒店、员工姓名和MOD日期。”);
返回;
}
//关闭模式并刷新页面
setTimeout(函数(){location.reload()},1000);
返回;
});
我将使用javascript发送表单,以便您可以添加额外数据。或者在表单2中用javascript创建一个隐藏字段,使用部门代码my JS很糟糕,但你的意思是在表单2中创建一个隐藏的JS字段,并且在表单1中更改部门代码字段后,用输入值更新隐藏字段,对吗?是的,这是一个更简单的解决方案。@Site小偷更新了我的问题,听从你的建议。工作起来很有魅力。谢谢你,伙计。
<?php
// SHOULD BE EXECUTED AFTER THE SUBMIT BUTTON WAS CLICKED
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['type']) && ($_POST['type']=='new_entry')) {
// include connection details
include '../../plugins/MySQL/connect_db.php';
// Open a new connection to the MySQL server
$con = new mysqli($dbhost,$dbuser,$dbpass,$dbname);
// Output any connection error
if ($con->connect_error) {
die('Error : ('. $con->connect_errno .') '. $con->connect_error);
}
// define variables
$table = 'calendar';
$type = mysqli_real_escape_string($con,$_POST['type']);
$holidex = mysqli_real_escape_string($con,$_POST['holidex']);
if($type == 'new_entry')
{
// define variables and query
$mod_property = mysqli_real_escape_string($con,$_POST['holidex']);
$mod_name = mysqli_real_escape_string($con,$_POST['mod_name']);
$mod_date = date('Y-m-d',strtotime($_POST['mod_date']));
$sql = "INSERT INTO calendar (`title`, `startdate`, `enddate`, `allDay`, `color`, `holidex`) VALUES ('$mod_name','$mod_date','$mod_date','true','','$mod_property')";
print($sql);
$result = $con->query($sql) or die('<p>Could not submit new MOD record into database: ' . MYSQLI_ERROR() . '</p>');
$result->free();
}
$con->close();
}
?>
<form name="form1" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<!-- <form name="mod_form" action="../../plugins/MySQL/ajax_action.php?type=new_entry" method="POST"> -->
<!-- Property -->
<div class="col-md-4">
<label>Property</label>
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-server"></i></span>
<select name="holidex" id="holidex" class="form-control select2" style="width: 100%;" data-placeholder="Select your property" onchange="this.form.submit();" method="POST" <?php if($_SESSION['Access']=='User') { echo "disabled"; } ?>>
// get all my departments and their respective codes
<option value="1">Dept. 1</option>
<option value="2">Dept. 2</option>
<option value="3">Dept. 3</option>
</select>
</div>
<!-- /btn-group -->
</div>
<!-- /.property -->
</form>
<form name="form2" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<!-- MOD Name -->
<div class="col-md-4">
<label>MOD Name</label>
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-user"></i></span>
<select name="mod_name" id="mod_name" class="form-control select2" style="width: 100%;" data-placeholder="Select a name">
<option value=""></option>
<option value="1">User1</option>
<option value="2">User2</option>
<option value="3">User3</option>
</select>
</div>
<!-- /.input-group -->
</div>
<!-- /.mod name -->
<!-- MOD Date -->
<div class="col-md-3">
<label>MOD Date</label>
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-server"></i></span>
<input type="date" class="form-control" name="daterangepicker" id="daterangepicker" />
<!-- <input type="date" id="mod_date" name="mod_date" class="form-control" style="width: 100%;"> -->
</div>
</div>
<!-- /.mod date -->
// hidden input field to determine the type and help differentiate the $_POST submissions
<input type="hidden" class="form-control" name="type" id="type" value="new_entry"/>
<!-- Submit button -->
<div class="col-md-1 text-center">
<label> </label>
<button type="submit" name="btnSubmit" class="btn btn-primary btn-block" onclick="this.disabled=true; this.value = 'Wait...'; this.form.submit(); return true;">Submit</button>
</div>
<!-- /.submit button -->
</form>
<!-- /.form 2 -->
<script>
// SAVE NEW DEPARTMENT RECORD - SAVE BUTTON
$("#SubmitButton").click(function() {
// check that input fields are not empty
if($("#holidex").val()!="" && $("#mod_name").val()!="" && $("#mod_date").val()!="") {
$.ajax({
url: "../../plugins/MySQL/ajax_action.php",
type: "POST",
async: true,
data: { action:"mod_calendar",type:"new_entry",holidex:$("#holidex").val(),mod_name:$("#mod_name").val(),mod_date:$("#mod_date").val()},
dataType: "html",
success: function(data) {
$('#mod_output').html(data);
drawVisualization();
},
});
} else {
//notify the user they need to enter data
alert("Please choose a hotel, staff name and MOD date from the list.");
return;
}
// close modal and refresh page
setTimeout(function(){location.reload()}, 1000);
return;
});
</script>