jquery实现预览提交的表单代码分享


Posted in Javascript onMay 21, 2014

预览表单,查看后确认提交或者返回重填

jquery实现预览提交的表单代码分享

XML/HTML Code

    <form class="mform" id="myform" method="POST" id="myform" action="">  
    <fieldset>  
    <legend>Registeration</legend>  
    <table cellspacing="0">  
    <tbody>  
    <tr>  
    <td><label for="u_name"> Username :</label></td>  
    <td><input type="text" name="uname" id="u_name">  
    <td>  
    </tr>  
    <tr>  
    <td><label for="u_pwd"> Password :</label></td>  
    <td><input type="password" name="uname" id="u_pwd"></td>  
    </tr>  
    <tr>  
    <td><label for="u_mail"> Email :</label></td>  
    <td><input type="email" name="uname" id="u_mail"></td>  
    </tr>  
    <tr>  
    <td><label for="u_country"> Country :</label></td>  
    <td><select name="Country" id="u_country">  
    <option value="" selected="selected">Select Country</option>  
    <option value="United States">United States</option>  
    <option value="United Kingdom">United Kingdom</option>  
    <option value="China">China</option>  
    </select></td>  
    </tr>  
    <tr>  
    <td><span> Gender :</span></td>  
    <td><input type="radio" name="gender" id="male" value="male">  
    <label for="male"> Male</label>  
    <input type="radio" name="gender" id="female"  value="female">  
    <label for="female"> Female </label></td>  
    </tr>  
    <tr>  
    <td><label for="subscribe"> Subscribe Us : </label></td>  
    <td><input type="checkbox" id="subscribe" name="subscribe" value="yes"></td>  
    </tr>  
    <tr>  
    <td></td>  
    <td><input type="submit" value="submit"></td>  
    </tr>  
    </tbody>  
    </table>  
    </fieldset>  
    </form>  
<script src="../../js/jquery-1.9.1.min.js"></script> 
<link rel="stylesheet" type="text/css" href="previewForm/previewForm.css" />
<script src="previewForm/previewForm.js"></script>

JavaScript Code

<script>  
$(document).ready(function() {  
    $('#myform').previewForm();  
});  
</script>

previewForm.js

(function($){ $.fn.previewForm = function(options){
  var form_settings = $.extend({
   identifier         : 'label',
   show_password        : true,
   extratext    : 'Do You Want To submit',
   yes  : 'yes',
   no  : 'no',
   title  : 'Please preview'   
  }, options);
   var dia_log; 
   var renderBUTTON;
   var this_frm;
   this_frm = $(this);
 $(this).submit(function (){

 if($('#pfomdata').length){
      return true;
     }
  
  dia_log="";
  var needle_cnfrm;
  if(this.id.length > 0){ needle_cnfrm = '#'+this.id+' label'; }
  else  { needle_cnfrm = '.'+$(this).attr('class')+' label'; }
 $(needle_cnfrm).each(function(i,val) { 
  if($(this).text().length >2){
 what_t= $('#'+$(this).attr('for')) ;
 switch(what_t.prop('type')){
 case 'password':
 if(!form_settings.show_password)
  dia_log +=$(this).text() + " your selected password<br/>";
 else
  dia_log +=$(this).text() +what_t.val()+"<br/>";
  break;
 case 'select-one':
 dia_log +=$(this).text()  +$('#'+$(this).attr('for')+' option:selected').text()+"<br/>";
  break;
 case 'radio':
 if( what_t.is(':checked'))
 dia_log +=$(this).text() +' '+what_t.val()+"<br/>";
  break;
 case 'checkbox':
 if( what_t.is(':checked'))
 dia_log +=$(this).text() +' '+what_t.val()+"<br/>";
  break;
 case 'undefined':
  break;
 default:
 dia_log +=$(this).text() +what_t.val()+"<br/>";
 break;
 }
 }
  });
  dia_log = dia_log.replace('undefined', '');
  
  renderBUTTON="";
  renderBUTTON += '<a href="javascript:void(0);" class="button form_yes">'+form_settings.yes+'<span></span></a>';
  renderBUTTON += '<a href="javascript:void(0);" class="button form_no">'+form_settings.no+'<span></span></a>';
  var renderTemplate = [
   '<div id="previewOverlay">',
   '<div id="previewBox">',
   '<h1>',form_settings.title,'</h1>',
   '<p>',dia_log,'</p>',
   '<p>',form_settings.extratext,'</p>',
   '<div id="previewButtons">',
   renderBUTTON,
   '</div></div></div>'
  ].join('');
  $(renderTemplate).hide().appendTo('body').fadeIn();
 $(".form_yes") .click(function(){ 
   var input = $("<input>").attr("type", "hidden").attr("id", "pfomdata").val("true");
    this_frm.append($(input));
    this_frm.submit();
   });
 $(".form_no") .click(function(){
    $('#previewOverlay').fadeOut(function(){
    $(this).remove();
     });
   });
 return false;
  });
 }
})(jQuery);

previewForm.css

#previewOverlay{
 width:100%;
 height:100%;
 position:fixed;
 top:0;
 left:0;
 background:url('ie.png');
 background: -moz-linear-gradient(rgba(11,11,11,0.1), rgba(11,11,11,0.6)) repeat-x rgba(11,11,11,0.2);
 background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(11,11,11,0.1)), to(rgba(11,11,11,0.6))) repeat-x rgba(11,11,11,0.2);
 z-index:100000;
}
#previewBox{
 background:url('body_bg.jpg') repeat-x left bottom #e5e5e5;
 width:460px;
 position:fixed;
 left:50%;
 top:50%;
 margin:-130px 0 0 -230px;
 border: 1px solid rgba(33, 33, 33, 0.6);
 -moz-box-shadow: 0 0 2px rgba(255, 255, 255, 0.6) inset;
 -webkit-box-shadow: 0 0 2px rgba(255, 255, 255, 0.6) inset;
 box-shadow: 0 0 2px rgba(255, 255, 255, 0.6) inset;
}
#previewBox h1,
#previewBox p{
 font:26px/1 'Cuprum','Lucida Sans Unicode', 'Lucida Grande', sans-serif;
 background:url('header_bg.jpg') repeat-x left bottom #f5f5f5;
 padding: 18px 25px;
 text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.6);
 color:#666;
}
#previewBox h1{
 letter-spacing:0.3px;
 color:#888;
}
#previewBox p{
 background:none;
 font-size:16px;
 line-height:1.4;
 padding-top: 7px;
}
#previewButtons{
 padding:15px 0 25px;
 text-align:center;
}
#previewBox .button{
 display:inline-block;
 background:url('buttons.png') no-repeat;
 color:white;
 position:relative;
 height: 33px;
 font:17px/33px 'Cuprum','Lucida Sans Unicode', 'Lucida Grande', sans-serif;
 margin-right: 15px;
 padding: 0 35px 0 40px;
 text-decoration:none;
 border:none;
}
#previewBox .button:last-child{ margin-right:0;}
#previewBox .button span{
 position:absolute;
 top:0;
 right:-5px;
 background:url('buttons.png') no-repeat;
 width:5px;
 height:33px
}
#previewBox .form_yes{    background-position:left top;text-shadow:1px 1px 0 #5889a2;}
#previewBox .form_yes span{   background-position:-195px 0;}
#previewBox .form_yes:hover{  background-position:left bottom;}
#previewBox .form_yes:hover span{ background-position:-195px bottom;}
#previewBox .form_no{    background-position:-200px top;text-shadow:1px 1px 0 #707070;}
#previewBox .form_no span{   background-position:-395px 0;}
#previewBox .form_no:hover{  background-position:-200px bottom;}
#previewBox .form_no:hover span{ background-position:-395px bottom;}
Javascript 相关文章推荐
javascript编码的几个方法详细介绍
Jan 06 Javascript
js arguments,jcallee caller用法总结
Nov 30 Javascript
使用apply方法实现javascript中的对象继承
Dec 16 Javascript
javascript实现行拖动的方法
May 27 Javascript
Javascript for in的缺陷总结
Feb 03 Javascript
Vue.js父与子组件之间传参示例
Feb 28 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
Aug 16 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
Oct 27 Javascript
vue 实现通过手机发送短信验证码注册功能
Apr 19 Javascript
十分钟教你上手ES2020新特性
Feb 12 Javascript
vue实现前端列表多条件筛选
Oct 26 Javascript
Vue ECharts实现机舱座位选择展示功能
May 15 Vue.js
javascript制作的网页侧边弹出框思路及实现代码
May 21 #Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
May 21 #Javascript
Jquery的each里用return true或false代替break或continue
May 21 #Javascript
alert和confirm功能介绍
May 21 #Javascript
采用call方式实现js继承
May 20 #Javascript
Js+Jq获取URL参数的集中方法示例代码
May 20 #Javascript
js 采用delete实现继承示例代码
May 20 #Javascript
You might like
php编程实现获取excel文档内容的代码实例
2011/06/28 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
2013/12/02 PHP
javascript 学习笔记(六)浏览器类型及版本信息检测代码
2011/04/08 Javascript
js 弹出菜单/窗口效果
2011/10/30 Javascript
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
JavaScript实现GriwView单列全选(自写代码)
2013/05/13 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
js 右侧浮动层效果实现代码(跟随滚动)
2015/11/22 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
2016/09/09 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
2017/01/04 Javascript
JS自定义函数实现时间戳转换成date的方法示例
2017/08/27 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
2017/12/20 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
d3.js实现图形拖拽
2019/12/19 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
在Python的Django框架中创建语言文件
2015/07/27 Python
手把手教你pycharm专业版安装破解教程(linux版)
2019/09/26 Python
PyTorch实现AlexNet示例
2020/01/14 Python
Selenium及python实现滚动操作多种方法
2020/07/21 Python
python简单实现9宫格图片实例
2020/09/03 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
巴西最大的体育用品商城:Netshoes巴西
2016/11/29 全球购物
阿里云:Aliyun.com
2017/02/15 全球购物
史蒂夫·马登加拿大官网:Steve Madden加拿大
2017/11/18 全球购物
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
荷兰和比利时时尚鞋店:Van Dalen
2018/04/23 全球购物
枚举与#define宏的区别
2014/04/30 面试题
外贸业务员求职自荐信分享
2013/09/21 职场文书
幼师自我鉴定范文
2013/10/01 职场文书
大学生毕业自我鉴定范文
2013/11/03 职场文书
2014年社区重阳节活动策划方案
2014/09/16 职场文书
领导干部作风建设自查报告
2014/10/23 职场文书
网聊搭讪开场白
2015/05/28 职场文书
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers
Python编程中Python与GIL互斥锁关系作用分析
2021/09/15 Python