整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          使用FormData無刷新表單信息提交

          使用FormData無刷新表單信息提交

          用新技術FormData表單數據對象, 可以實現快速收集表單信息。

          FormData是html5的新技術, 在主流瀏覽器(IE10以上版本支持)都可以正常使用。

          <html>
          <head>
          <title>新建網頁</title>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
          <meta name="description" content="" />
          <meta name="keywords" content="" />
          <script type="text/javascript">
          window.onload=function(){
              var fm=document.getElementsByTagName('form')[0];
              fm.onsubmit=function(evt){
              //ajax+dom無刷新獲得表單信息并傳遞給服務器
              //① 獲得表單信息
              //利用javascript提供的新技術快速、簡單地收集全部的表單域信息
              //FormData() 表單數據對象可以幫我們完成此需求
              var fd=new FormData(fm);//收集fm元素節點內部的表單域信息
              //也可寫成var fd=new FormData(this);
              //fd里邊有我們收集到的全部的表單域信息
              //② ajax傳遞表單信息
              var xhr=new XMLHttpRequest();
              xhr.onreadystatechange=function(){
                  if(xhr.readyState==4 && xhr.status==200){
                      alert(xhr.responseText);
                  }
              }
              xhr.open('post','./04.php');
              //xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
              xhr.send(fd);
              //event.returnValue=false; //IE6 7 8
              evt.preventDefault();//瀏覽器進制跳轉 主流瀏覽器
              }
          }
          </script>
          </head>
          <body>
          <h2>無刷新form表單提交(FormData)</h2>
          <form method="post" >
          <p>用戶名:<input type="text" name="username" id="mingzi"></p>
          <p>密碼:<input type="password" name="userpwd" id="mima"></p>
          <p>郵箱:<input type="text" name="useremail" id="youxiang"></p>
          <p><input type="submit" value="注冊"></p>
          </form>
          </body>
          </html>
          <?php
          //獲得傳遞過來的post格式信息
          print_r($_POST);
          ?>

          注意:FormData使用

          1 ajax不要設置header頭

          2 form表單域必須有name屬性

          3 IE10以上版本支持FormData, IE9不支持

          TML5實現頭像的上傳

          這是利用form-data給后臺傳輸數據,來實現頭像的上傳加載!

          1. html代碼
          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <meta name="viewport" content="width=, initial-scale=1.0">
              <meta http-equiv="X-UA-Compatible" content="ie=edge">
              <title>Document</title>
              </head>
          <body>
              <div class="container">
                  <input enctype="multipart/form-data" type="file">
                  <input id="Susername"  type="text" placeholder="用戶名">
                  <input id="Ssex" type="number" placeholder="年齡">
                  <input id="Sage" type="text" placeholder="專業">
                  <input id="Smajor" type="text" placeholder="學校">
                  <input id="Sschool" type="text" placeholder="QQ">
                  <input id="Sqq" type="text" placeholder="地址">
                  <input id="Saddress" type="text" placeholder="座右銘">
                  <input id="Smotto" type="button" value="上傳">
                 
                  <div style="clear: both;"></div>
                       <progress value="0" max="100"></progress>
              </div>
              <div class="showarea">
                  <h3>顯示區域</h3>
              </div>
              </body>
          </html>
          
          1. 樣式代碼
           .container{
                      box-sizing: border-box;
                      width: 404px;
                      height: 100px;
                      border: 1px solid #ccc;
                      border-radius: 5px;
                      padding-top: 20px;
                      background: linear-gradient(to bottom,#0ff,#0ff 20px,transparent 0);
                      margin: 0 auto;
                  }
                  input{
                      padding: 0;
                      margin: 0;
                    
                  }
                  .container input[type=file]{
                      width: 300px;
                      height: 30px;
                      border: 1px solid #ccc;
                      background: #7FFFD4;
                      color: #133131;
                      float: left;
                  }
                  .container input[typr=button]{
                      width: 100px;
                      height: 32px;
                      float: left;
                      border: 1px solid #ccc;
                      color:  #133131;
                  }
                  progress{
                      display: none;
                      width: 400px;
                      height: 30px;
                      margin-top: 7px;
                  }
                  .showarea{
                      width: 600px;
                      min-height: 200px;
                      border: 1px solid #ccc;
                      margin: 30px auto;
                  }
                  .showarea h3{
                      widows: 100px;
                      margin: 0 auto;
                      line-height: 60px;
                      text-align: center;
                      border-bottom: 1px solid #cccc;
                      color: #133131;
                      
                  }
                  .showareaimg{
                      max-width: 1000%;
                  }
          
          1. javescript代碼

          先簡單了解一下 FormData,點擊鏈接:https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/Using_FormData_Objects

          IE瀏覽器版本最好為:IE10+,因為 FormData 兼容性問題

          然后查看示例,代碼如下↓

          html 代碼:


          1. <!DOCTYPE html>
          2. <html lang="zh-cn">
          3. <head>
          4. <meta charset="UTF-8">
          5. <title>Title</title>
          6. <script type="text/javascript" src="jquery-1.8.3.min.js"></script>
          7. <style type="text/css">
          8. #showimg{margin-top: 20px;height: 150px;}
          9. #showimg div{width: 100px;height: 100px;line-height:100px;margin-right: 20px;float: left;text-align: center;}
          10. #showimg img{vertical-align: middle;max-width: 100%;max-height: 100%;}
          11. </style>
          12. <script type="text/javascript">
          13. jQuery(function () {
          14. jQuery('#butSubmit').click(function () {
          15. var file=jQuery('#fileId')[0].files;
          16. var formDataInfo=new FormData(jQuery('#FormDataUpload')[0]);
          17. formDataInfo.append('file',file);//表單數據
          18. formDataInfo.append('ajajxfile', 1);//額外加數據
          19. /*------分割線------*/
          20. // var formDataInfo=new FormData();
          21. // formDataInfo.append('pic', jQuery("#picId")[0].files[0]);
          22. // formDataInfo.append('ajajxfile', 1);//額外加數據
          23. //jQuery.each(jQuery("#fileId")[0].files,function (k,val) {
          24. // formDataInfo.append('fileimg[]', val);
          25. // });
          26. // alert(formData);
          27. jQuery.ajax({
          28. type:'post',
          29. url:'upload.php',
          30. dataType:'json',
          31. cache:false,
          32. processData:false,//必須
          33. contentType:false,//必須
          34. data:formDataInfo,
          35. success:function (data) {
          36. // alert(data);
          37. var html='';
          38. for (var i=0;i<data.length;i++){
          39. html +='<div><img src="'+data[i]+'"></div>';
          40. }
          41. jQuery('#showimg').html(html);
          42. },
          43. error:function () {
          44. alert('Error');
          45. }
          46. });
          47. });
          48. });
          49. </script>
          50. </head>
          51. <body>
          52. <br>
          53. <form id="FormDataUpload" action="upload.php" method="post" enctype="multipart/form-data">
          54. <input name="img[]" type="file" id="fileId" multiple>
          55. <!--<input name="picId" type="file" id="picId">-->
          56. <input type="button" value="提交" id="butSubmit">
          57. <!-- <input type="submit" name="dosubmit" value="提交Form">-->
          58. </form>
          59. <div id="showimg"></div>
          60. </body>
          61. </html>

          后臺程序 PHP代碼:


          1. <?php
          2. date_default_timezone_set('PRC');
          3. if (!empty($_POST)){
          4. if ($_FILES['img']['name'][0]){
          5. $path='upload/';
          6. if (!is_dir($path)){
          7. mkdir(iconv("UTF-8", "GBK", $path),0777,true);
          8. }
          9. $datafile=$_FILES['img'];
          10. $filearr=array();
          11. foreach ($datafile['name'] as $key=>$value){
          12. $type=pathinfo($value);
          13. $filename=$path.time().mt_rand(0,999999999).'.'.$type['extension'];
          14. if (move_uploaded_file($datafile['tmp_name'][$key],$filename)){
          15. $filearr[]=$filename;
          16. }
          17. }
          18. print_r(json_encode($filearr));die;
          19. }
          20. }

          一個簡單的ajax上傳文件,歡迎廣大朋友們一起來學習!


          主站蜘蛛池模板: 日产精品久久久一区二区| 无码人妻久久一区二区三区免费 | 国产乱码精品一区二区三区四川人 | 亚洲av无码一区二区三区天堂古代 | 精品国产一区二区三区久久影院| 久久久久久人妻一区二区三区| 国产成人久久精品区一区二区| 国产福利无码一区在线| 精品无码中出一区二区| 岛国无码av不卡一区二区| 91久久精品国产免费一区| 色综合视频一区中文字幕| 日本一区二区三区在线视频观看免费| 精品国产毛片一区二区无码| 亚洲一区二区中文| 日本一区二区三区日本免费| 久久久久女教师免费一区| 精品无码一区在线观看| 国产免费一区二区三区VR| 精品视频一区二区三区免费| 欧美激情国产精品视频一区二区| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 亚洲熟妇av一区二区三区漫画| 亚洲国产情侣一区二区三区| 国产精品福利区一区二区三区四区| 一区二区在线免费观看| 精品不卡一区中文字幕| 在线精品国产一区二区| 极品少妇伦理一区二区| 亚洲一区二区三区四区视频| 国产福利电影一区二区三区,亚洲国模精品一区 | 中文国产成人精品久久一区| 国产日本亚洲一区二区三区| 精品福利一区二区三区| 国模无码视频一区二区三区| 无码人妻少妇色欲AV一区二区| 视频一区二区三区人妻系列| 中文乱码人妻系列一区二区 | 日本欧洲视频一区| 日本一区二区三区在线网| 精品福利视频一区二区三区|