Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Ajax Php处理多个表单_Php_Html_Ajax - Fatal编程技术网

如何使用Ajax Php处理多个表单

如何使用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

在HTML页面上,我有两个表单。Form1包含几个输入。Form2用于将文件上载到服务器,因此按下“上载”按钮将通过Ajax调用php,该php处理文件并将其上载到服务器。 我的问题是,我找不到一种方法来实现,当按下“上传”按钮时,文件会像现在一样上传到服务器上,但也会处理form1中的数据并将其保存到数据库中

<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;        
}