我有一个带有10个输入文件类型标签的表单。我只想将其中一个文件发送到服务器上。在支持formData .my问题的现代浏览器中,该问题在不支持form数据的旧浏览器中。我将此代码用于旧浏览器。html表单
<form name="multiform" id="multiform" action="multi-form-submit.php" method="POST" enctype="multipart/form-data">
Image1 :<input type="file" name="photo1" /><br/>image2:
Image3:
javascript代码
function getDoc(frame) {
var doc = null;
// IE8 cascading access check
try {
if (frame.contentWindow) {
doc = frame.contentWindow.document;
}
} catch(err) {
}
if (doc) { // successful getting content
return doc;
}
try { // simply checking may throw in ie8 under ssl or mismatched protocol
doc = frame.contentDocument ? frame.contentDocument : frame.document;
} catch(err) {
// last attempt
doc = frame.document;
}
return doc;
}
$("#multiform").submit(function(e)
{
var formObj = $(this);
//var formURL = formObj.attr("action");
var formURL="multi-form-submit.php";
var iframeId = "unique" + (new Date().getTime());
//create an empty iframe
var iframe = $('<iframe src="javascript:false;" name="'+iframeId+'" />');
//hide it
iframe.hide();
//set form target to iframe
formObj.attr("target",iframeId);
//Add iframe to body
iframe.appendTo("body");
iframe.load(function(e)
{
var doc = getDoc(iframe[0]);
var docRoot = doc.body ? doc.body : doc.documentElement;
var data = docRoot.innerHTML;
alert(data);
});multi submit.php文件:
<?php
move_uploaded_file($_FILES["photo"]["tmp_name"],
"upload/" . $_FILES["photo"]["name"]);
?>当用户选择photo1、photo2和photo3并单击submit时,我想只将photo2发送到server.how可以吗?
发布于 2014-03-10 17:36:46
对于较老的浏览器,当表单包含中文、日文时,iframe提交表单将创建乱码。
https://stackoverflow.com/questions/21508977
复制相似问题