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 相关文章推荐
动态获取复选框checkbox选中个数的jquery代码
Jun 25 Javascript
javascript验证只能输入数字和一个小数点示例
Oct 21 Javascript
js实现的折叠导航示例
Nov 29 Javascript
jQuery.holdReady()使用方法
May 20 Javascript
JavaScript通过代码调用Flash显示的方法
Feb 02 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
Aug 24 Javascript
jQuery实现可兼容IE6的遮罩功能详解
Sep 19 jQuery
Vue多种方法实现表头和首列固定的示例代码
Feb 02 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
Apr 23 Javascript
Vue父子组件双向绑定传值的实现方法
Jul 31 Javascript
JavaScript实现省市区三级联动
Feb 13 Javascript
antd Select下拉菜单动态添加option里的内容操作
Nov 02 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
PHP怎样用正则抓取页面中的网址
2016/08/09 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
Document对象内容集合(比较全)
2010/09/06 Javascript
js获取网页高度(详细整理)
2012/12/28 Javascript
jcrop基本参数一览
2013/07/16 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
jQuery ajax serialize() 方法使用示例
2014/11/02 Javascript
node.js中的fs.open方法使用说明
2014/12/17 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
简单介绍JavaScript中字符串创建的基本方法
2015/07/07 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
2016/07/07 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
JavaScript严格模式详解
2017/01/16 Javascript
AngularJS路由删除#符号解决的办法
2017/09/28 Javascript
jfinal与bootstrap的登出实战详解
2017/11/27 Javascript
clipboard.js在移动端复制失败的解决方法
2018/06/13 Javascript
详解SPA中前端路由基本原理与实现方式
2018/09/12 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
2019/04/04 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
JavaScript进阶(三)闭包原理与用法详解
2020/05/09 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
Python数据类型详解(四)字典:dict
2016/05/12 Python
Python 字符串大小写转换的简单实例
2017/01/21 Python
JSON Web Tokens的实现原理
2017/04/02 Python
Django migrations 默认目录修改的方法教程
2018/09/28 Python
Django 解决开发自定义抛出异常的问题
2020/05/21 Python
Python unittest discover批量执行代码实例
2020/09/08 Python
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
幼儿园教育教学反思
2014/01/31 职场文书
政法学院毕业生求职信
2014/02/28 职场文书
销售主管竞聘书
2014/03/31 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
办公室文员岗位职责
2015/02/04 职场文书