上传预览 easyui部分控件获取focuse 表单验证
js:
$(document).ready(function () {
//$('#creater').combobox({
// url: '/VMS.UI/BindData/ScheamData?type=26',
// dataType: 'json'
//});
$('#education').combobox({
url: '/VMS.UI/BindData/ScheamData?type=26',
dataType: 'json'
});
$('#job').combobox({
url: '/VMS.UI/BindData/ScheamData?type=24',
dataType: 'json',
value: '专职'
});
$('#station').combobox({
url: '/VMS.UI/BindData/ScheamData?type=29',
dataType: 'json'
});
$('#org').combotree({
url: '/VMS.UI/BindData/OrgData',
dataType: 'json',
idFiled: 'IID',
textFiled:'OrgName',
onLoadSuccess: function () {
$('#org').combotree('tree').tree("collapseAll");
},
onSelect: function (node) {
$('#dept').combobox({
url: '/VMS.UI/BindData/GetDepartments?deptID=' + node.id,
dataType: 'json',
valueField: 'IID',
textField: 'DeptName'
});
}
});
$(function () {
$("#uploadpic").uploadPreview({
Img: "pic",
Width: 120,
Height: 120
});
});
function formValidate() {
var station = $('#station').combobox('isValid');
var name = $('#name').validatebox('isValid');
var cardNumber = $('#cardNumber').validatebox('isValid');
var mobilePhone = $('#mobilePhone').numberbox('isValid');
var org = $('#org').combotree('isValid');
var dept = $('#dept').combobox('isValid');
var drivingCertificate = $('input[name="DrivingCertificate"]').validatebox('isValid');
if (!station) {
$('#station').combobox().next('span').find('input').focus()
return false;
}
if (!name) {
$('#name').focus();
return false;
}
if (!cardNumber) {
$('#cardNumber').focus()
return false;
}
if (!mobilePhone) {
$('#mobilePhone').focus()
return false;
}
if (!org) {
$('#org').combobox().next('span').find('input').focus()
return false;
}
if (!dept) {
$('#dept').combobox().next('span').find('input').focus()
return false;
}
if (!drivingCertificate) {
$('input[name="DrivingCertificate"]').focus()
}
return true;
}
$('#save').click(function () {
if (formValidate()) {
$('#form_driverinfo').submit();
}
});
$('#clear').click(function () {
$.messager.confirm('确认对话框', '是否确定清空?', function (r) {
if (r) {
$('#form_driverinfo').form('reset');
}
});
});
});
MVC:
[HttpPost]
public ActionResult AddVehicleDriver(VehicleDrivers driver)
{
if (driver.Picture != null)
{
HttpPostedFileBase file = Request.Files["Picture"];
if (file != null)
{
driver.Picture = SaveImgAndGetPath(file);
}
}
}
/// <summary>
/// 保存图片并获取地址
/// </summary>
/// <param name="file">文件</param>
/// <returns>返回路径</returns>
private string SaveImgAndGetPath(HttpPostedFileBase file)
{
//设置文件名+获取文件扩展名
string imgName = DateTime.Now.ToString("yyyyMMddHHmmss") + new Random().Next(1000, 9999).ToString() + Path.GetExtension(file.FileName);
// 生成要存档的 文件路径和文件名
string serverPath = System.Web.HttpContext.Current.Server.MapPath("~");
string imgFullPath = Path.Combine(serverPath, @"UploadImage\driverImg\", imgName);
//string imgPath = Path.Combine(Server.MapPath("/UploadImage/driverImg/"), imgName);
//上传服务器
file.SaveAs(imgFullPath);
string imgRelativePath = System.Web.HttpContext.Current.Request.ApplicationPath + @"\UploadImage\driverImg\" + string.Format("{0}", imgName);
return imgRelativePath;
}
jqueryExtends:
jQuery.fn.extend({
uploadPreview: function (opts) {
var _self = this, _this = $(this);
opts = jQuery.extend({
Img: "ImgPr",
Width: 100,
Height: 100,
ImgType: ["gif", "jpeg", "jpg", "bmp", "png"],
Callback: function () {
}
}, opts || {});
_self.getObjectURL = function (file) {
var url = null;
if (window.createObjectURL != undefined) {
url = window.createObjectURL(file)
} else if (window.URL != undefined) {
url = window.URL.createObjectURL(file)
} else if (window.webkitURL != undefined) {
url = window.webkitURL.createObjectURL(file)
}
return url
};
_this.change(function () {
if (this.value) {
if (!RegExp("\.(" + opts.ImgType.join("|") + ")$", "i").test(this.value.toLowerCase())) {
alert("选择文件错误,图片类型必须是" + opts.ImgType.join(",") + "中的一种");
this.value = "";
return false
}
if ($.browser.msie) {
try {
$("#" + opts.Img).attr('src', _self.getObjectURL(this.files[0]))
} catch (e) {
var src = "";
var obj = $("#" + opts.Img);
var div = obj.parent("div")[0];
_self.select();
if (top != self) {
window.parent.document.body.focus()
} else {
_self.blur()
}
src = document.selection.createRange().text;
document.selection.empty();
obj.hide();
obj.parent("div").css({
'filter': 'progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)',
'width': opts.Width + 'px',
'height': opts.Height + 'px'
});
div.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = src
}
} else {
$("#" + opts.Img).attr('src', _self.getObjectURL(this.files[0]))
}
opts.Callback()
}
})
}
});
上传预览 easyui部分控件获取focuse 表单验证的更多相关文章
- ux.plup.File plupload 集成 ux.plup.FileLis 批量上传预览
//plupload 集成 Ext.define('ux.plup.File', { extend: 'Ext.form.field.Text', xtype: 'plupFile', alias: ...
- ASP.NET工作笔记之一:图片上传预览及无刷新上传
转自:http://www.cnblogs.com/sibiyellow/archive/2012/04/27/jqueryformjs.html 最近项目里面涉及到无刷新上传图片的功能,其实也就是上 ...
- 模拟QQ心情图片上传预览
出于安全性能的考虑,目前js端不支持获取本地图片进行预览,正好在做一款类似于QQ心情的发布框,找了不少jquery插件,没几个能满足需求,因此自己使用SWFuplad来实现这个图片上传预览. 先粘上以 ...
- 用html5文件api实现移动端图片上传&预览效果
想要用h5在移动端实现图片上传&预览效果,首先要了解html5的文件api相关知识(所有api只列举本功能所需): 1.Blob对象 Blob表示原始二进制数据,Html5的file对象就继 ...
- 微信开发中使用微信JSSDK和使用URL.createObjectURL上传预览图片的不同处理对比
在做微信公众号或者企业微信开发业务应用的时候,我们常常会涉及到图片预览.上传等的处理,往往业务需求不止一张图片,因此相对来说,需要考虑的全面一些,用户还需要对图片进行预览和相应的处理,在开始的时候我使 ...
- 兼容好的JS图片上传预览代码
转 : http://www.codefans.net/articles/1395.shtml 兼容好的JS图片上传预览代码 (谷歌,IE11) <html xmlns="http:/ ...
- PHP WAMP 文件上传 及 简单的上传预览
...... 使用特殊的表单类型file, 主(上传)页面: <form action="chuli.php" method="post" enctype ...
- 单图上传预览(uploadpreview )
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Jquery图片上传预览效果
uploadPreview.js jQuery.fn.extend({ uploadPreview: function (opts) { var _self = this, _this = $(thi ...
随机推荐
- 转:Selenium的延迟等待
Selenium的延迟等待分为 显式等待(Explicit Wait) & 隐式等待(Implicit Wait). 1.显式等待 显式等待,就是明确的要等到某个元素的出现或者是某个元素的可点 ...
- 分享我们项目中基于EF事务机制的架构 【转载】
http://www.cnblogs.com/leotsai/p/how-to-use-entity-framework-transaction-scope.html 写在前面: 1. 本文中单元测试 ...
- CodeForces 616D Longest k-Good Segment
用队列维护一下即可 #include<cstdio> #include<cstring> #include<queue> #include<algorithm ...
- 使用Bootstrap建立网站微金所——头部
1.微金所链接:http://www.weijinsuo.com/ 2.头部分为:topbar和nav上下两个部分 (1)topbar详解 topbar使用bootstrap的栅格系统 (2)nav分 ...
- EM算法--第一篇
在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量(LatentVariable).最大期望 ...
- boost库使用说明
1 下载安装 2 编译的时候,需要添加头文件和链接对应的库
- xcode 6 出现的新问题
1.prefix.pch文件的使用 [1].需要自己创建 点击new file-->选择IOS中的Other选项卡,选择PCH File [2].创建完后需要设置一下才能成功 Prefix He ...
- JS表单原生验证器
一.前言 最近在开发一个新项目,需要做登陆等一系列的表单提交页面.在经过“缜密”的讨论后,我们决定 不用外部流行的框架,如bootstrap,由于我负责的模块 仅仅是其中的一部分,因此少数服从多数,无 ...
- POJ 1995 Raising Modulo Numbers
快速幂取模 #include<cstdio> int mod_exp(int a, int b, int c) { int res, t; res = % c; t = a % c; wh ...
- laravel无法显示路由界面
安装完laravel项目后,开启了重写,/app/storage也设置好了权限,但是始终无法显示出页面,并出现: "Whoops, looks like something went wro ...