序列化layer创建的弹出表单并ajax提交
/**
*createTime:2015-09-13
*updateTime:2015-09-13
*author:刘俊
*phone:13469119119
*QQ:418873053
**/
var url='/index.php?m=formguide&c=index&a=show&formid=21&ajax=1'; //构建买家报名和卖家报名表单
var formStr = '<li class="clearfix"><div class="optTit fl">买家联系人:</div><div class="option fl"><input id="uname" name="info[uname]" type="text" />';
formStr += '<label class="namelabel" for="uname">请填联系人真实姓名</label></div></li>';
formStr += '<li class="clearfix"><div class="optTit fl">联系电话:</div>';
formStr += '<div class="option fl"><input id="tel" name="info[contact]" type="tel" /><label class="tellabel" for="tel">请填联系人手机号码</label></div></li>';
formStr += '<li class="clearfix"><div class="optTit fl">公司名称:</div>';
formStr += '<div class="option fl"><input id="company" name="info[company]" type="text" /><label class="companylabel" for="company">请填贵公司名称</label></div></li>';
formStr += '<li class="clearfix"><div class="optTit fl">产品要求:</div>';
formStr += '<div class="option fl" style="height:180px"><textarea id="demand" name="info[demand]"></textarea><label class="demandlabel" for="demand">请填写对卖家产品的要求</label></div></li>';
formStr += '<li class="clearfix"><div class="optTit fl"> </div><div class="option fl"><a href="javascript:void(0);" class="okbtn font16 mt10 white tc">提交</a></div></li>';
formStr += '</ul></form></div>';
//买家地址
var htmlStr = '<div class="myform"><form id="myform" action="'+url+'" method="post" name="myform"><input name="info[usertype]" value="1" type="hidden" /><ul>';
htmlStr += formStr; //卖家地址
var htmlStr2 = '<div class="myform"><form id="myform" action="'+url+'" method="post" name="myform"><input name="info[usertype]" value="2" type="hidden" /><ul>';
htmlStr2 += formStr; //自定义弹出层
/*$("#toApply").click(function(){
layer.open({
type: 1,
title: "买家报名",
closeBtn: true,
shadeClose: true,
area:['500px','500px'],
skin: 'buyerBox',
content:htmlStr
});
//表单文本框提示文字
$("#myform input,#myform textarea").on({
focus:function(){$(this).next("label").hide();$(this).css("border-color","#999")},
blur:function(){
$(this).css("border-color","#e1e1e1")
var str =$.trim($(this).val());
if(str == ""){
$(this).next("label").show();
}}
});
//提交表单
$("#myform .okbtn").click(function(){
var uname=$("#uname").val();
var tel=$("#tel").val();
var company=$("#company").val(); var chinese = /^[\u4e00-\u9fa5]{2,4}$/;
var telpattern = /^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
var phonepattern= /^(((13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(14[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
//return this.optional(element) || (chinese.test(value)); if(!chinese.test(uname)){
layer.msg('姓名未填写或未填写汉字!', {icon:0});
return false;
}
if(!telpattern.test(tel) && !phonepattern.test(tel)){
layer.msg('联系方式填写错误!', {icon:0});
return false;
}
if($.trim(company)==''){
layer.msg('请填写公司名称!', {icon:0});
return false;
} ajaxSubmit($("#myform"));
});
});*/
/*
$("#seller").click(function(){
layer.open({
type: 1,
title: "卖家报名",
closeBtn: true,
shadeClose: true,
area:['500px','300px'],
skin: 'sellerBox',
content:htmlStr2
});
//表单文本框提示文字
$("#myform input").on({
focus:function(){$(this).next("label").hide();},
blur:function(){
var str =$.trim($(this).val());
if(str == ""){
$(this).next("label").show();
}}
});
//提交表单
$("#myform .okbtn").click(function(){
var uname=$("#uname").val();
var tel=$("#tel").val();
var company=$("#company").val(); var chinese = /^[\u4e00-\u9fa5]{2,4}$/;
var telpattern = /^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
var phonepattern= /^(((13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(14[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
//return this.optional(element) || (chinese.test(value)); if(!chinese.test(uname)){
layer.msg('姓名未填写或填写错误!', {icon:0});
return false;
}
if(!telpattern.test(tel) && !phonepattern.test(tel)){
layer.msg('联系方式填写错误!', {icon:0});
return false;
}
if($.trim(company)==''){
layer.msg('请填写公司名称!', {icon:0});
return false;
}
ajaxSubmit($("#myform"));
});
});*/ //将form转为AJAX提交
function ajaxSubmit(frm) {
var dataPara = getFormJson(frm);
var url=$("#myform").attr("action"); $.ajax({
url:$("#myform").attr("action"),
type:$("#myform").attr("method"),
data: dataPara,
success: function(data){
layer.closeAll();
if(data==='1'){
console.log(1);
layer.msg('报名成功!', {icon: 1});
}else if(data==='0'){
console.log(0);
layer.msg('报名失败,请重试!', {icon: 2});
}else{
console.log(data);
layer.msg(data, {icon: 0});
}
}
});
} //将form中的值转换为键值对。
function getFormJson(frm) {
var o = {dosubmit:1};
var a = $(frm).serializeArray();
$.each(a, function () {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
} //铝箔图片查看弹出层
function showPic(id,start,src,pid){
var json = {
"title": "铝箔相册", //相册标题
"id": id, //相册id
"start": start, //初始显示的图片序号,默认0
"data": [ //相册包含的图片,数组格式
{
"alt": "铝箔图片",
"pid": pid, //图片id
"src": "images/pic/"+src, //原图地址
"thumb": "images/pic/ProductImg2.jpg" //缩略图地址
}
]
};
layer.photos({
photos: json,
closeBtn: true,
});
};
序列化layer创建的弹出表单并ajax提交的更多相关文章
- jquery序列化from表单使用ajax提交返回json数据(使用struts2注解result type = json)
1.action类引入struts2的"json-default"拦截器栈 @ParentPackage("json-default") //示例 @Paren ...
- layui弹出表单提交后,界面model验证部分起作用
情况1----input属性中type=submit时验证都可以起作用,但是弹出层表单的返回值不能获取,所以用ajax二次提交后会出现重复添加数据的问题 情况2----input属性中type=but ...
- 织梦自定义表单通过ajax提交的实现方法
自定义表单通过ajax判断,提交不用跳转页面,提高用户体验.具体方法如下: html表单代码部分,就提交按钮改成botton,,添加onclick事件 表单代码: <form action=&q ...
- ExtJs 4.2.1 点击按钮弹出表单的窗口
初学ExtJs,做项目的时候想做一个这样的效果:点击按钮弹出对话框,之前一直是使用EasyUi来做的, EasyUi里有Dialog,用起来很方便,但是现在转移到ExtJs上后,发现没有Dialog这 ...
- jquery序列化form表单使用ajax提交后处理返回的json数据
1.返回json字符串: /** 将一个字符串输出到浏览器 */ protected void writeJson(String json) { PrintWriter pw = null; try ...
- jquery.validate和jquery.form配合实现验证表单后AJAX提交
基础代码其实很简单,之后一点一点扩充.最终代码写在最后. 表单: <form action="@Url.Action("AddColumns","Cont ...
- javascript表单的Ajax 提交插件的使用
Ajax 提交插件 form.js 表单的下载地址:官方网站:http://malsup.com/jquery/form/ form.js 插件有两个核心方法:ajaxForm()和ajaxSubmi ...
- Form 表单用 Ajax 提交数据并用 jQuery Validate 验证
表单填写需要验证可用插件 jQuery Validate 提交数据使用 Ajax 可操控性得到提到 注意:请自行引入 jQuery 和 jQuery Validate HTML 代码 <form ...
- Bootstrap 弹出表单
随机推荐
- FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)
在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令.服务器接收到命令后,会用其本地的FTP数据端口 ...
- bower解决js库的依赖管理
从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎.chrome浏 ...
- [LA] 2031 Dance Dance Revolution
Dance Dance Revolution Time limit: 3.000 seconds Mr. White, a fat man, now is crazy about a game nam ...
- HDU 4405 Aeroplane chess(期望)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4405 题意:从0走到n,每次走之前掷一次筛子,掷出几点就向前走几点,走到大于等于n的地方就停止.但是, ...
- 关于sencha touch 的JSONP跨域请求的学习研究
此篇文章是对自己在研究学习sencha touch的过程中的点滴记录,主要是JSONP的跨域请求这方面,对于何为是跨域概念还有不熟悉的,可以自己问下度娘. 先上张图: 我要完成的功能就是表格下拉刷新, ...
- Java获取当前日期的前一个月,前一天的时间
Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, -); //得到前一天 calendar.add(Cal ...
- Android Listview异步动态加载网络图片
1.定义类MapListImageAndText管理ListViewItem中控件的内容 package com.google.zxing.client.android.AsyncLoadImage; ...
- CDT+Eclipse代码自动提示
1.查看GCC的版本:$gcc -v————————————————————————gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)———————— ...
- bzoj1615 [Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机
Description Farmer John新买的干草打包机的内部结构大概算世界上最混乱的了,它不象普通的机器一样有明确的内部传动装置,而是,N (2 <= N <= 1050)个齿轮互 ...
- DELL WIN7系统安装 U盘
1.老毛挑制作U盘启动安装 http://www.laomaotao.net/ 2.下载WIN7 COPY里面的内容到U盘根目录,然后将bootmgr文件更名为win7mgr 3.开进F2修改BIO ...