要通過ajax保存表單,一切都OK,測試也通過,卻發現文件沒有上傳成功!然後就有了用 ajax是否可以上傳文件的疑問。
找遍資料得出結果:不能
不過同時也找到了解決辦法,就是用iframe的方式來提交表單,即實現無刷新提交表單又可以上傳文件!
一、HTML代碼
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無刷新提交表單</title>
<script type="text/javascript">
<!--
function callback(str){
alert(str);
}
// --></script>
</head>
<body>
<form name="form1" method="POST" action="../post.php" target="post_frame" enctype="multipart/form-data">
<iframe name='post_frame' id="post_frame" style="display:none;" mce_style="display:none;"></iframe>
<input type="file" name="img" />
<input name="power[]" type="text"/>
<input type="submit" value="完成以上修改" name="submit" />
</form>
</body>
</html>
二、PHP代碼(處理代碼)
這裡的代碼就想怎麼寫怎麼寫了,不過這個裡執行完了剛才那個HMTL頁面應該要有所表現,這時就要用到上個頁面中的 function callback()了
echo ("<script type="text/javascript">parent.callback('操作成功 ! ')</ script>");