序列化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 弹出表单
随机推荐
- php 与 jquery中$.post()与attr()方法的简单实例 amaze modal 模态窗口
$(selector).attr(attribute,value)$.post() 在jqery中有这样一个方法,$.post()下面就这个方法做一个简单的实例: jQuery.post( url, ...
- Effective Java实作equals() - 就是爱Java
equals()这个方法,定义在Object class中,这个是所有class的base class,因此所有的class都继承这个方法,默认是比较内存地址,不过Mix需要的是商业规则上的比较,所以 ...
- IP防护等级
IP(INGRESS PROTECTION)防护等级系统是由IEC(INTERNATIONAL ELECTROTECHNICAL COMMISSION)所起草,将电器依其防尘防湿气之特性加以分级.这里 ...
- cocos2d-x特效之CCControlPotentiometer
在test示例下面,有一个关于此功能的代码,实现的效果如下: 通过拉动可旋转的按钮,从而改变所代表的值,这个效果的确是很棒的,但,和我的需求有一些差别,先贴上我实现的效果吧 ...
- Java宝典(四)------Java中也存在内存泄露。
--Java中会存在内存泄露吗? --如果你想当然的以为Java里有了垃圾回收机制就不会存在内存泄露,那你就错了. Java里也会存在内存泄露! 我们慢慢来分析. 所谓内存泄露就是指一个不再被程序使用 ...
- pyqt 配置文件例子学习
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' import sys,datetime from PyQt4.QtC ...
- OpenStack中给wsgi程序写单元測试的方法
在 OpenStack 中, 针对web应用, 有三种方法来写单元測试 1) 使用webob生成模拟的request from __future__ import print_function imp ...
- LinkedList的分析(转)
一.源码解析 1. LinkedList类定义. public class LinkedList<E> extends AbstractSequentialList<E> im ...
- zabbix PHP databases support off Fail
zabbix初始化检查安装环境不通过: PHP databases support off Fail --未找到所支持的数据库 处理方法:安装Mysqli模块 ############## ...
- html5前端开发笔记-个人中心
简单的css自适应 PC端 *** 移动端 *** ) *** 一开始的想法就是模仿手机APP 的页面进行布局,首先得有个头部,然后是主题部分,然后加上2个按钮,分别是编辑和退出登录.先布出基本结构. ...