php+html5使用FormData对象提交表单及上传图片的方法


Posted in PHP onFebruary 11, 2015

本文实例讲述了php+html5使用FormData对象提交表单及上传图片的方法。分享给大家供大家参考。具体分析如下:

FormData 对象,可以把form中所有表单元素的name与value组成一个queryString,提交到后台。在使用Ajax提交时,使用FormData对象可以减少拼接queryString的工作量。

使用FormData对象

1.创建一个FormData空对象,然后使用append方法添加key/value

var formdata = new FormData();  

formdata.append('name','fdipzone');  

formdata.append('gender','male');

2.取得form对象,作为参数传入到FormData对象

<form name="form1" id="form1">  

<input type="text" name="name" value="fdipzone">  

<input type="text" name="gender" value="male">  

</form>

var form = document.getElementById('form1');  

var formdata = new FormData(form);

使用FormData提交表单及上传文件:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  

<html>  

 <head>  

  <meta http-equiv="content-type" content="text/html; charset=utf-8">  

  <title> FormData Demo </title>  

  <script src="/js/jquery-1.11.0.min.js"></script>  

  <script type="text/javascript">  

  <!--  

    function fsubmit(){  

        var data = new FormData($('#form1')[0]);  

        $.ajax({  

            url: 'server.php',  

            type: 'POST',  

            data: data,  

            dataType: 'JSON',  

            cache: false,  

            processData: false,  

            contentType: false  

        }).done(function(ret){  

            if(ret['isSuccess']){  

                var result = '';  

                result += 'name=' + ret['name'] + '<br>';  

                result += 'gender=' + ret['gender'] + '<br>';  

                result += '<img src="' + ret['photo']  + '" width="100">';  

                $('#result').html(result);  

            }else{  

                alert('提交失??);  

            }  

        });  

        return false;  

    }  

  -->  

  </script>  

 </head>  

 <body>  

    <form name="form1" id="form1">  

        <p>name:<input type="text" name="name" ></p>  

        <p>gender:<input type="radio" name="gender" value="1">male <input type="radio" name="gender" value="2">female</p>  

        <p>photo:<input type="file" name="photo" id="photo"></p>  

        <p><input type="button" name="b1" value="submit" onclick="fsubmit()"></p>  

    </form>  

    <div id="result"></div>  

 </body>  

</html>

server.php如下:

<?php  

$name = isset($_POST['name'])? $_POST['name'] : '';  

$gender = isset($_POST['gender'])? $_POST['gender'] : '';  

$filename = time().substr($_FILES['photo']['name'], strrpos($_FILES['photo']['name'],'.'));  

$response = array();  

if(move_uploaded_file($_FILES['photo']['tmp_name'], $filename)){  

    $response['isSuccess'] = true;  

    $response['name'] = $name;  

    $response['gender'] = $gender;  

    $response['photo'] = $filename;  

}else{  

    $response['isSuccess'] = false;  

}  

echo json_encode($response);  

?>

运行效果如下图所示:

php+html5使用FormData对象提交表单及上传图片的方法

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
数据库查询记录php 多行多列显示
Aug 15 PHP
php 连接mysql连接被重置的解决方法
Feb 15 PHP
php多层数组与对象的转换实例代码
Aug 05 PHP
关于JSON以及JSON在PHP中的应用技巧
Nov 27 PHP
PHP判断IP并转跳到相应城市分站的方法
Mar 25 PHP
PHP中实现crontab代码分享
Mar 26 PHP
PHP实现的memcache环形队列类实例
Jul 28 PHP
php视频拍照上传头像功能实现代码分享
Oct 08 PHP
joomla实现注册用户添加新字段的方法
May 05 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
Jan 16 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
Nov 20 PHP
php-msf源码详解
Dec 25 PHP
php判断并删除空目录及空子目录的方法
Feb 11 #PHP
php获取YouTube视频信息的方法
Feb 11 #PHP
php实现图片局部打马赛克的方法
Feb 11 #PHP
php实现获取文件mime类型的方法
Feb 11 #PHP
php强制更新图片缓存的方法
Feb 11 #PHP
Laravel中使用自己编写类库的3种方法
Feb 10 #PHP
Laravel中使用阿里云OSS Composer包分享
Feb 10 #PHP
You might like
动态网站web开发 PHP、ASP还是ASP.NET
2006/10/09 PHP
php设计模式 Factory(工厂模式)
2011/06/26 PHP
php 地区分类排序算法
2013/07/01 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
ThinkPHP中redirect用法分析
2014/12/05 PHP
PHP生成word文档的三种实现方式
2016/11/14 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
thinkphp5实现无限级分类
2019/02/18 PHP
ExtJS GTGrid 简单用户管理
2009/07/01 Javascript
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
2010/04/25 Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
2013/01/11 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
使用jQuery重置(reset)表单的方法
2014/05/05 Javascript
jQuery中:animated选择器用法实例
2014/12/29 Javascript
web前端开发JQuery常用实例代码片段(50个)
2015/08/28 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
Nodejs如何复制文件
2016/03/09 NodeJs
详解JS转换数值函数Number()、parseInt()、parseFloat()
2018/08/24 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
2019/02/21 Javascript
手写Vue弹窗Modal的实现代码
2019/09/11 Javascript
python利用datetime模块计算时间差
2015/08/04 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
Html5跳转到APP指定页面的实现
2020/01/14 HTML / CSS
茵宝(Umbro)英国官方商店:英国足球服装生产商
2016/12/29 全球购物
MAC Cosmetics巴西官方网站:M·A·C彩妆
2019/04/18 全球购物
Perfume’s Club澳大利亚官网:西班牙领先的在线美容店
2021/02/01 全球购物
即兴演讲稿
2014/01/04 职场文书
中学生校园广播稿
2014/01/16 职场文书
满月酒主持词
2014/03/27 职场文书
2014年最新离婚协议书范本
2014/10/11 职场文书
离婚协议书怎么写
2015/01/26 职场文书
聋哑人盗窃罪辩护词
2015/05/21 职场文书
幼儿园小班班务总结
2015/08/03 职场文书
教务处教学工作总结
2015/08/10 职场文书
浅谈如何写好演讲稿?
2019/06/12 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书