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中void(0)的具体含义解释
Aug 02 Javascript
extjs 如何给column 加上提示
Jul 29 Javascript
分享一个常用的javascript静态类
Dec 31 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
Oct 28 Javascript
JS中frameset框架弹出层实例代码
Apr 01 Javascript
js实现的光标位置工具函数示例
Oct 03 Javascript
Angular2利用组件与指令实现图片轮播组件
Mar 27 Javascript
Vuejs中使用markdown服务器端渲染的示例
Nov 22 Javascript
js实现按钮开关单机下拉菜单效果
Nov 22 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
Nov 28 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
May 24 Javascript
js实现星星海特效的示例
Sep 28 Javascript
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
Laravel获取当前请求的控制器和方法以及中间件的例子
2019/10/11 PHP
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
2009/10/24 Javascript
jQuery 获取URL参数的插件
2010/03/04 Javascript
SwfUpload在IE10上不出现上传按钮的解决方法
2013/06/25 Javascript
javascript中加号(+)操作符的一些神奇作用
2014/06/06 Javascript
js中的事件捕捉模型与冒泡模型实例分析
2015/01/10 Javascript
Jquery异步提交表单代码分享
2015/03/26 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
vue.js之vue-cli脚手架的搭建详解
2017/05/05 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
2017/12/24 jQuery
vue移动UI框架滑动加载数据的方法
2018/03/12 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
vue+element表格导出为Excel文件
2019/09/26 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
2020/07/31 Javascript
JavaScript Html实现移动端红包雨功能页面
2021/01/10 Javascript
JS中锚点链接点击平滑滚动并自由调整到顶部位置
2021/02/06 Javascript
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
2015/12/31 Python
启动Atom并运行python文件的步骤
2018/11/09 Python
Python两个字典键同值相加的几种方法
2019/03/05 Python
python如何删除文件中重复的字段
2019/07/16 Python
python 实现快速生成连续、随机字母列表
2019/11/28 Python
pytorch-RNN进行回归曲线预测方式
2020/01/14 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
Pandas的数据过滤实现
2021/01/15 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
美国男士和女士奢侈品折扣手表购物网站:Certified Watch Store
2018/06/13 全球购物
Skyscanner加拿大:全球旅行搜索平台
2018/11/19 全球购物
手工制作的意大利皮革运动鞋:KOIO
2020/01/05 全球购物
巴西网上药店:Drogaria Araujo
2021/01/06 全球购物
交通法规咨询中心工作职责
2013/11/27 职场文书
《掌声》教学反思
2014/02/23 职场文书
先进党支部申报材料
2014/12/24 职场文书
幼儿园开学温馨提示
2015/07/15 职场文书
实习报告怎么写
2019/06/20 职场文书
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏