form表单的应用:form对象自带属性和方法及提交时提交的数据.....

1.html中含有form表单

(1)html

<form id="picLoad" class="lt" style="width: 230px;" enctype="multipart/form-data">    <label>        <div class="upload">上传图片</div>        <input id="doc-form-file" onchange="fileChange(this);" type="file" name="file" accept="image/jpeg,image/png" multiple>    </label>    <div>        <img id="imgPreview" src="" width="200"/>    </div></form>
<button onclick="addImage()">提交</button>
(2)js
<script>    function fileChange(file){        console.log(file.files);        var reader = new FileReader();        reader.readAsDataURL(file.files[0]);        reader.onload = function(e){            document.getElementById(‘imgPreview‘).src = e.target.result;        }    }    function addImage(){        var picLoad = document.getElementById(‘picLoad‘);        var formData = new FormData(picLoad);             //根据现有form new一个FormData实例
        console.log(formData);                            //查看实例(这里看不出实例包含了哪些内容)        console.log(formData.getAll("file"));             //获取属性为name为file的值,对应html中的name=‘file‘,file可任意命名
     var dsc = ‘参数1‘;             formData.append(‘dsc ‘,dsc);                      //为formData添加新值,通常提交到后台的数据既包含文件又包含其他数据时用
       console.log(formData.getAll("dsc"));                //获取属性为dsc的值
    }</script>

点击#doc-form-file选择文件,我选择的是一张图片,选定后自动调用fileChange方法,这个方法的作用是预览图片(FileReader对象这里不做解释,不了解的百度一下)点击提交按钮调用addImage方法
1.html中没有form表单,js中生成表单(1)html
<div id="holder">

</div>
<button onclick="addImage()">提交</button>
(2)js
<script>    var holder = document.getElementById(‘holder‘);

holder.ondragover = function(){         //拖拽图片到#holder 经过#holder时触发
        this.className = ‘over‘;            //图片经过时盒子的样式,可自行设计        return false;                       //阻止元素默认事件//        event.preventDefault()    };

holder.ondrop = function(e){           //一次拖拽事件结束  放开鼠标时触发        this.className = ‘‘;        e.preventDefault();        var files = e.dataTransfer.files; //获取拖拽的内容        console.log(files);        viewHolder(files);    };    function viewHolder(files){             //图片预览        while(holder.hasChildNodes()){            holder.removeChild(holder.firstChild);        }        for(var i=0;i<files.length;i++){            var reader = new FileReader();            reader.readAsDataURL(files[i]);            reader.onload = function(e){                var image = new Image();                image.src = e.target.result;                image.width = 250;                holder.appendChild(image);            }        }    }    function readFiles(files){                       //把拖拽的内容传进来        var formData = new FormData();               //创建FormData实例        for(var i=0;i<files.length;i++){             //把files数组全部加入到实例中(可以拖拽多个文件)

formData.append(‘file‘,files[i])        }

var dsc = ‘参数1‘;        var tel = ‘参数2‘;        formData.append(‘dsc‘,dsc);                 //添加参数        formData.append(‘tel‘,tel);
     var xhr = new XMLHttpRequest();        xhr.open(‘POST‘,‘/upload‘);        xhr.onload = function(){            location.href = ‘/home‘;        };
        xhr.send(formData);                          /把数据传给后台    }</script>

FormData 的一些方法:https://segmentfault.com/a/1190000006716454   //里面介绍很详细  

创建一个formData对象实例有几种方式1、创建一个空对象实例
var formData = new FormData();2、使用已有的表单来初始化一个对象实例
<form id="myForm" action="" method="post">
    <input type="text" name="name">名字
    <input type="password" name="psw">密码
    <input type="submit" value="提交">
</form>
// 获取页面已有的一个form表单
var form = document.getElementById("myForm");
// 用表单来初始化
var formData = new FormData(form);
// 我们可以根据name来访问表单中的字段
var name = formData.get("name"); // 获取名字
var psw = formData.get("psw"); // 获取密码
// 当然也可以在此基础上,添加其他数据
formData.append("token","kshdfiwi3rh");.......
 
				
时间: 2024-11-03 05:35:37

form表单的应用:form对象自带属性和方法及提交时提交的数据.....的相关文章

Form表单插件jquery.form.js

常常使用到这个插件,但是老忘记怎么使用,现在对大家写的进行一定的整合. 使用插件实例: 一般的使用方法 <!-- 引入jquery文件 --> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> <script src="http://malsup.github.com/jquery.form.js"><

form表单序列化为Jquery对象

1 <form id="DailyFinancial" > @*class="form-inline"*@ 2 <div class="form-group"> 3 <label for="FinancialType">记账类型</label> 4 <select class="form-control" id="FinancialType&q

(转)jQuery插件 -- Form表单插件jquery.form.js

beforeSubmit: validate function validate(formData, jqForm, options) { //在这里对表单进行验证,如果不符合规则,将返回false来阻止表单提交,直到符合规则为止 //方式一:利用formData参数 for (var i=0; i < formData.length; i++) { if (!formData[i].value) { alert('用户名,地址和自我介绍都不能为空!'); return false; } } /

HTML里面form表单name,action,method,target,enctype等属性用法

HTML里面的form表单里面的name,target,enctype,method以及action的用法 HML表单HTML里面的表单是HTML页面与浏览器交互的重要手段,表单主要提交一些客户端的数据. 表单和表单域并不具有排版能力,表单网页的制作最终还是要由表格组织起来. 表单的主要功能是收集信息,一般的表单由两部分组成,一是描述表单元素的HTML代码,二是客户端的脚本,或者服务器用来处理用户所填信息的程序. 表单信息的处理过程为:当单击表单中的提交按钮时,输入在表单中的信息就会上传到服务器

jQuery实现form表单序列化转换为json对象功能示例

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>jquery form序列化转换为json对象</title> <script src="//cdn.bootcss.com/jquery/3.0.0/jquery.min.js"></script> </script> </hea

jQuery form表单序列化为JSON对象!

/* 来源于博客园http://www.cnblogs.com/nixil/archive/2010/12/08/1900745.html */ function paramString2obj(serializedParams) { var obj = {}; function evalThem(str) { var attributeName = str.split("=")[0]; var attributeValue = str.split("=")[1];

将form表单元素转为实体对象 或集合 -ASP.NET C#

简介: 做WEBFROM开发的同学都知道后台接收参数非常麻烦 虽然MVC中可以将表单直接转为集实,但不支持表单转为 LIST<T>这种集合 单个对象的用法: 表单: <input name='id' value='1' > <input name='sex' value='男' > 后台: //以前写法 DLC_category d = new DLC_category(); d.sex = Request["sex"]; d.id = Conver

jQuery插件 -- Form表单插件jquery.form.js

jquery.form.js官网 jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地.无侵入地升级HTML表单以支持Ajax.jQuery Form有两个核心方法 -- ajaxForm() 和 ajaxSubmit(), 它们集合了从控制表单元素到决定如何管理提交进程的功能.另外,插件还包括其他的一些方法: formToArray().formSerialize().fieldSerialize().fieldValue().clearForm(). clearFields

表单(上)EasyUI Form 表单、EasyUI Validatebox 验证框、EasyUI Combobox 组合框、EasyUI Combo 组合、EasyUI Combotree 组合树

EasyUI Form 表单 通过 $.fn.form.defaults 重写默认的 defaults. 表单(form)提供多种方法来执行带有表单字段的动作,比如 ajax 提交.加载.清除,等等.当提交表单时,调用 'validate' 方法来检查表单是否有效. 用法 创建一个简单的 HTML 表单.构建表单并给 id.action.method 赋值. <form id="ff" method="post"> <div> <lab