关于jquery.form.js上传文件的一些记录
插件:jquery.form.js 上传文件。
<input type="file" name="file" class="layui-upload-file" placeholder="上传文件">
js:
$('input').change(function(){
console.log($(this).val()); //获取文件名
console.log(this.files[0]); //获取的比较详细,包括文件类型,大小...
});
获取文件后缀名:
var fileType = 文件名.substring(文件名.lastIndexOf(".") + 1); //获取文件后缀名
校验上传格式,以图片为例:
$('input').change(function(){
var fileName = $(this).val();
if(!fileName){
return;
}
if(!RegExp('^.*?\.(jpg|png|gif|bmp|jpeg)$', 'i').test(fileName)){
alert('不支持该格式');
return;
}
console.log('成功');
});
一、jQuery.Form.js 配置选项options
| 选项 | 说明 |
| url | 表单提交数据的地址 |
| type | form提交的方式(method:post/get) |
| target | 服务器返回的响应数据显示在元素(Id)号 |
| beforeSerialize: function($form, options) | 表单数据被序列化之前执行的回调函数,如果在内部return false将终止序列化和提交。 |
| beforeSubmit: function(arr, $form, options) | 表单数据被序列化成arr数组,并且在提交前触发的回调函数。 |
| error | 提交失败执行的回调函数 |
| success | 提交成功后执行的回调函数 |
| data | 除了表单数据外,还需要额外提交到服务器的数据 |
| iframe | 如果有<input type="file">是否应该使用iframe来上传文件(对旧版本浏览器而言) |
| iframeSrc | 为<iframe>元素设定src属性值 |
| iframeTarget | 如果你想用自己的iframe来上传文件,可以将Id传给这个属性 |
| dataType | 期望服务器返回数据类型 |
| clearForm | 提交成功后是否清空表单中的字段值 |
| restForm | 提交成功后是否重置表单中的字段值,即恢复到页面加载时的状态 |
| timeout | 设置请求时间,超过该时间后,自动退出请求,单位(毫秒) |
| forceSync | |
| semantic | |
| uploadProgress |
二、API
| ajaxForm | 增加所有需要的事件监听器,为ajax提交表单做准备。ajaxForm并不能提交表单。在document的ready函数中,使用ajaxForm来为ajax提交表单进行准备。 | 接受0个或1个参数。参数可以是一个回调函数,也可以是一个Options对象。 | $("#formid").ajaxForm(); |
| ajaxSubmit | 使用ajax提交表单。 | 接受0个或1个参数。参数可以是一个回调函数,也可以是一个Options对象。 |
$("#formid").ajaxSubmit(); 或 $("#formid").submit(function(){ $(this).ajaxSubmit(); return false; }); |
| formSerialize | 将表单串行化(或序列化)为一个查询字符串。这个方法将返回以下格式的字符串:name1=value1&name2=value2。 | 无 | $("#formid").formSerialize(); |
| fieldSerialize | 将表单的字段元素串行化(或序列化)为一个查询字符串。当只有部分表单字段需要进行串行化(或序列化)时,使用这个就很方便了。返回以下格式的字符串:name=value1&name2=value2。 | 无 | $("#formid .specialFields").fieldSerialize(); |
| fieldValue | 返回匹配插入数组中的表单元素值。该方法以数组的形式返回数据。如果元素值被判定可能无效,则数组为空。 | 无 | $("#formid :password").fieldValue(); |
| resetForm | 将表单恢复到初始状态。 | 无 | $("#formid").resetForm(); |
| clearForm | 清除表单元素。该方法将所有的text、password、textarea置空,清除select元素中的选定,以及所有radio按钮和checkbox按钮重置为非选定状态。 | 无 | $("#formid").clearForm(); |
| clearFields | 清除字段元素。只有部分表单元素需要清除时方便使用。 | 无 | $("#formid .specialFields").clearFields(); |

浙公网安备 33010602011771号