我正在使用以下 mootools1.2 表单检查 js。 http://mootools.floor.ch/en/demos/formcheck/
对于表单检查工作正常,它与 ajax 表单发布工作正常。
我的问题是,当我通过文件上传使用 AJAX 发布表单时。
然后它没有将 $_FILES
数组返回到 PHP 端。
如果我正常发布表单(即没有 ajax),那么一切正常意味着所有的帖子和文件数组都在 php 端。
虽然 ajax 表单在 post 数组中返回选定的文件名但不是完整的 $_FILES
arrat
最佳答案
<?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,这是解决您遇到的问题并防止页面重新加载的常用解决方法。
关于php - 表单检查js的文件上传问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1946136/