美好的一天,
我目前正在设计一个表单,它有10个字段(其中3个需要上传文件,而其他字段使用普通<input>
功能)。在这里,我将只显示我的表单的示例代码,其上传函数将在用户单击表单上的输入时触发弹出框。
<form name="form1" action="process.php" method="post">
<input type="text" id="form_ic" name="form_ic" size="30" onClick="return popup('pdf.php')">
<a href="javascript:popup('pdf.php')">[Upload]</a>
</form>
对于上传文件功能,我需要从原始表格php中做一个弹出框(pdf.php),以显示要上传的文件的条款(例如,文件必须只有.pdf等等)上)。真正的上传功能仅在pdf.php中的表单上实现,如下所示:
<form name="pdf_upload" action="index.php" method="post" accept-charset="utf-8" enctype="multipart/form-data">
<input type="file" name="uploadfile" id="uploadfile">
<button type="submit" name="submit" value="Upload" onClick="window.close();">Upload</button>
</form>
这是捕获,
此原始表单的目的是注册用户配置文件。所以我想要做的是,用户从上传弹出框中选择文件后,文件将被转移回原始表单。用户上传的文件名称将以原始格式显示在<input type="text" id="form_ic">
后面。转移回原始表格的pdf文件将与其他字段详细信息(例如姓名,年龄等)一起提交。为了您的信息,因为有 3个字段使用弹出的相同上传功能,我将实现相同的弹出功能。
我无法将pdf文件从弹出式php转移到原始格式php,并以原始格式php显示上传文件的名称。我真的需要社区的意见来解决这个问题。
我很清楚要将.pdf文件的名称显示到<input>
,您需要javascript .innerHTML
函数,但我无法从中检索上传的.pdf文件pdf.php。这可能是由于我的代码设计存在问题。我不确定我的问题是否需要AJAX。请帮我。
谢谢。
答案 0 :(得分:0)
您的大多数代码都是正确的,但您需要对方法进行更改。
首先,从弹出窗口(pdf.php)中,您应该上传文件。目前您正在调用'window.close',因此文件未提交且上传功能未发生。当模态框(弹出窗口)打开时,让文件上传,然后通过ajax,检查它是否成功。如果是,则可以返回保存在服务器上的文件的名称。这个文件名,你可以传递给你的主表格(字段应该是不可编辑的)
其次,您应该更改您的JS代码,以便每当您调用弹出窗口时,您都会发送主窗体的TextField的ID,以便在文件上载后,javascript将文件名发送到同一字段。 / p>
如果您需要更多基于代码的示例,那么您应该参考此示例http://www.web-development-blog.com/archives/upload-in-modal-window-and-pass-values-with-jquery/
以上示例的演示页面位于:http://www.finalwebsites.com/demos/modal_upload_jquery_thickbox.php
希望这有助于解决您的问题。