我正在使用以下mootools1.2表单检查js。 http://mootools.floor.ch/en/demos/formcheck/
表格检查工作正常,其工作正常,带有ajax表格。
我的问题是,当我使用带文件上传的AJAX发布表单时。
然后它没有将$_FILES
数组返回给PHP端。
如果我正常发布表单(即没有ajax),那么每个工作正常意味着所有的帖子和文件数组都会转到php端。
虽然ajax表单在post数组中返回选定的文件名但不是完整的$_FILES
arrat
答案 0 :(得分:0)
<?php
if(count($_FILES) > 0)
{
echo('<pre>');
var_dump($_FILES);
die('</pre>');
}
?>
<html>
<head>
<title>Simple file upload with iframe</title>
</head>
<body>
<form enctype='multipart/form-data' method='post' action='<?php echo($_SERVER['PHP_SELF']); ?>' target='iframe'>
<input name='file' type='file' />
<input type='submit' value='Send' />
</form>
<iframe name='iframe' style='width: 800px; height: 400px;'></iframe>
</body>
</html>
据我所知,您无法使用AJAX上传文件,只是因为您无法访问该文件。浏览器保护了输入类型=文件的内容,例如IE7将提供C:\ fakepath \ filename.ext,Firefox将只提供filename.ext。但这些是字符串而不是文件本身。所以你真的需要使用表单提交来提交文件。
上面的代码会将表单内容发布到iframe,这是您遇到的问题的常用解决方法,并阻止页面重新加载。