如何使用Ajax Php处理多个表单
在HTML页面上,我有两个表单。Form1包含几个输入。Form2用于将文件上载到服务器,因此按下“上载”按钮将通过Ajax调用php,该php处理文件并将其上载到服务器。 我的问题是,我找不到一种方法来实现,当按下“上传”按钮时,文件会像现在一样上传到服务器上,但也会处理form1中的数据并将其保存到数据库中如何使用Ajax Php处理多个表单,php,html,ajax,Php,Html,Ajax,在HTML页面上,我有两个表单。Form1包含几个输入。Form2用于将文件上载到服务器,因此按下“上载”按钮将通过Ajax调用php,该php处理文件并将其上载到服务器。 我的问题是,我找不到一种方法来实现,当按下“上传”按钮时,文件会像现在一样上传到服务器上,但也会处理form1中的数据并将其保存到数据库中 <form method="POST" id="frm_one> <input type="text" class="form-control" placehol
<form method="POST" id="frm_one>
<input type="text" class="form-control" placeholder="Sol." aria-label="sc" aria-describedby="basic-addon1">
<input type="text" class="form-control" placeholder="ID DOC" aria-label="Username" aria-describedby="basic-addon1">
</form>
<form method="POST" id="frm_two>
<input type="text" class="form-control" placeholder="Piece" aria-label="sc" aria-describedby="basic-addon1">
<input type="text" class="form-control" placeholder="Order" aria-label="Username" aria-describedby="basic-addon1">
</form>
<form action="procesar.php" method="POST" enctype="multipart/form-data" id="frm_subedoc">
<input class="form-control p-1 border" type="file" name="file[]" id="selarchivos" multiple>
<button type="button" class="btn btn-info form-control mt-3" id="btn_subir">Subir Archivos</button>
</form>
接收请求的PHP是:
<?php
session_start();
$carpeta="documentos/";
$files_post=$_FILES['file'];
.
.
.
?>
问题是,如果我使用单个表单,我在表单2中声明的参数“enctype=“multipart/form data””会对输入中传递的数据产生什么影响?。另外,如果您修改我在PHP中恢复数据的方式,也就是说,$\u POST['field']?,老实说,我不再使用很多插件,但我一直在使用这个插件。为什么要重新发明轮子 对于您的案例,请注意,在其文档页面的
API&OPTIONS
选项卡上,您可以随文件发送其他数据:
dynamicFormData: function()
{
//var data ="XYZ=1&ABCD=2";
var data ={"XYZ":1,"ABCD":2};
return data;
}
因此,在包含AJAX例程的函数中,您可以首先从其他表单收集字段名/值,并将它们放入javascript对象中。然后,您可以使用上面的代码将该对象发送到接收该文件的服务器端配套PHP脚本
还要注意服务器端的选项卡,它记录了后端PHP文件的外观
参考资料:
如果您希望同时处理这两个问题,为什么不制作一个表格?…我同意第一条评论。如果你想一次发布所有信息,只需要一张表单。不是很确定问题出在哪里,只是把它们结合起来。你有什么理由不能/不那样做吗?我补充了更多information@JuncoFuerte`'enctype=“multipart/form data”``影响输入
??受影响的内容。?enctype=“multipart/form data”
在通过AJAX提交表单时对任何内容都没有影响。AJAX请求根本不使用该属性。是的,您在同一请求中提交的任何其他(非文件)字段都将通过$u POST在PHP中提供。文件输入字段将通过$\文件提供。如果您通过AJAX或postback提交,这是正确的。没有区别。没有什么能阻止你使用一个表单来完成这项工作。
dynamicFormData: function()
{
//var data ="XYZ=1&ABCD=2";
var data ={"XYZ":1,"ABCD":2};
return data;
}