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采集速度探究总结(原创)
Apr 18 PHP
让你成为更出色的PHP开发者的10个技巧
Feb 25 PHP
php中OR与|| AND与&amp;&amp;的区别总结
Oct 26 PHP
php导出word格式数据的代码实例
Nov 25 PHP
PHP实现全角字符转为半角方法汇总
Jul 09 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
Feb 18 PHP
php封装json通信接口详解及实例
Mar 07 PHP
php分页查询的简单实现代码
Mar 14 PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 PHP
Yaf框架封装的MySQL数据库操作示例
Mar 06 PHP
php中字符串和整数比较的操作方法
Jun 06 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
Dec 29 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
ThinkPHP之foreach标签使用概述
2014/06/30 PHP
Yii模型操作之criteria查找数据库的方法
2016/07/15 PHP
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
firefox浏览器不支持innerText的解决方法
2013/08/07 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
2014/06/07 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
基于JavaScript实现一定时间后去执行一个函数
2015/12/14 Javascript
Bootstrap源码学习笔记之bootstrap进度条
2016/12/24 Javascript
Vue过滤器的用法和自定义过滤器使用
2017/02/08 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
用Axios Element实现全局的请求loading的方法
2018/03/15 Javascript
浅谈vue引用静态资源需要注意的事项
2018/09/28 Javascript
JS获取本地地址及天气的方法实例小结
2019/05/10 Javascript
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
JS实现烟花爆炸效果
2020/03/10 Javascript
将Python的Django框架与认证系统整合的方法
2015/07/24 Python
python爬取个性签名的方法
2018/06/17 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
Python利用神经网络解决非线性回归问题实例详解
2019/07/19 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
2019/08/13 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
2013/01/30 HTML / CSS
香港迪士尼乐园酒店预订:Hong Kong Disneyland Hotels
2017/05/02 全球购物
制药工程专业个人求职自荐信
2014/01/25 职场文书
城建学院毕业生自荐信
2014/01/31 职场文书
竞选生活委员演讲稿
2014/04/28 职场文书
工程售后服务承诺书
2014/05/21 职场文书
民生工作实施方案
2014/05/31 职场文书
商务经理岗位职责
2014/07/30 职场文书
个人违纪检讨书
2014/09/15 职场文书
教师批评与自我批评剖析材料
2014/10/16 职场文书
新教师个人工作总结
2015/02/06 职场文书
小学秋季运动会加油口号及加油稿
2019/08/19 职场文书