投票项目-bootstrap
<script id="src" type="text/tmpl"> //script标签的type写成这个,浏览器会认为他不是javascript脚本,从而不去解析执行里面的内容
<div class="tab-wrap">
<table class="table table-bordered item">
<tbody>
<tr>
<td class="one">选项标题</td>
<td>
<input type="text" class="form-control" name="item-title[]" placeholder="选项标题">
</td>
</tr>
<tr>
<td class="one">选项简介</td>
<td>
<textarea class="form-control validate" rows="3" placeholder="请描述选项的主要内容,文字内容不超过300字" name="item-info[]" data-parent=".form-group" data-valid="maxlength" data-maxlength="300"></textarea>
</td>
</tr>
<tr>
<td class="one">上传图片</td>
<td>
<div class="upload-container clearfix">
<div class="upload-box fileinput-button upload-box">
<div class="upload-icon upload-btn">
<img src="" class="upload-img"/>
</div>
</div>
<input type="file" name="file[]" class="file-img"/>
<button type="button" class="btn btn-info start startUpload">
<i class="glyphicon glyphicon-upload"></i>
<span>开始上传</span>
</button>
</div>
</td>
</tr>
</tbody>
</table>
<div class="remove-wrap">
<button type="button" class="btn btn-warning js-btn-cancel">删除选项</button>
</div>
</div>
</script>
yp.use(['formSubmit'],function(yp) {
yp.ready(function() {
var ui = {
$addBtn: $('#add-btn')
, $body: $('body')
, $addWrap: $('#add-wrap')
, $removeBtn: $('.js-btn-cancel')
, $sendBtn: $('#js-send-btn')
, $src: $('#src')
, $radios: $('.radio input[type=radio]')
};
var oPageConfig = window.oPageConfig;
var oPage = {
init: function() {
this.view();
this.listen();
}
, view: function() {
var self = this;
}
, listen: function() {
var self = this;
/* 添加选项wrap */
ui.$addBtn.on('click', function() {
var $tmpl = $(ui.$src.html());
$tmpl.insertBefore(ui.$addWrap)
});
/* 添加选项wrap end */
/* 删除选项wrap */
ui.$body.on('click', '.js-btn-cancel', function() {
var $this = $(this);
var $parent = $this.closest('.tab-wrap')
$parent.remove();
});
/* 删除选项wrap end */
/* 提交表单 */
$('form').formSubmit({
callback: function(msg) {
if (msg.code == 0) {
bootbox.alert('提交成功!!', function() {});
} else {
bootbox.alert(msg.message);
}
}
});
/* 提交表单 end*/
/* 图片上传前预览 */
ui.$body.on('change', '.file-img', function() {
var $this = $(this)
, $uploadImg = $this.closest('.upload-container').find('img');
var objUrl = self.fGetObjectURL(this.files[0]); //建立一個可存取到該file的url
if (objUrl) {
$uploadImg.attr("src", objUrl) ;
}
});
}
, fGetObjectURL: function(file) {
var self = this;
var url = null;
if (window.createObjectURL!=undefined) { // basic
url = window.createObjectURL(file) ;
} else if (window.URL!=undefined) { // mozilla(firefox)
url = window.URL.createObjectURL(file) ;
} else if (window.webkitURL!=undefined) { // webkit or chrome
url = window.webkitURL.createObjectURL(file) ;
}
return url ;
}
};
oPage.init();
});
});

投票项目-bootstrap的更多相关文章
- 如何在Android的ListView中构建CheckBox和RadioButton列表(支持单选和多选的投票项目示例)
引言 我们在android的APP开发中有时候会碰到提供一个选项列表供用户选择的需求,如在投票类型的项目中,我们提供一些主题给用户选择,每个主题有若干选项,用户对这些主题的选项进行选择,然后提交. 本 ...
- php结合Redis实现100万用户投票项目,并实时查看到投票情况的案例
场景:某网站需要对其项目做一个投票系统,投票项目上线后一小时之内预计有100万用户进行投票,希望用户投票完就能看到实时的投票情况 这个场景可以使用redis+mysql冷热数据交换来解决. 何为冷热数 ...
- 2016 医疗项目 Bootstrap 自适应页面布局(1)
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- php与Redis实现一个100万用户的投票项目,如何实现实时查看投票情况?
好了,什么是冷热数据交换呢? 很土的解释一下,冷数据就是之前使用的数据,有种过去式的感觉,而热数据就是当前的数据,理解为现在进行时吧.如何交换呢?就是将Redis的数据周期存储到mysql中! 整体的 ...
- SpringBoot项目bootstrap.yml配置文件不加载
bootstrap.yml需要引入springcloud的包才会加载 <dependency> <groupId>org.springframework.cloud</g ...
- 在微信框架模块中,基于Vue&Element前端,通过动态构建投票选项,实现单选、复选的投票操作
最近把微信框架的前端改造一下,在原来基于Bootstrap框架基础上的微信后台管理,增加一套Vue&Element的前端,毕竟Vue的双向绑定开发起来也还是很方便的,而且Element本身也提 ...
- 20个超棒的jQuery bootstrap 插件
1. Bootstrap File Input Bootstrap3.x 的一个增强版的HTML 5 文件选择控件,可以对图片文件和文本文件进行预览,以及其他功能.该插件增强了这些插件,并且将组件的初 ...
- Node.js +Express+MongoDB+mogoose+ejs+bootstrap+jquery
Node.js + MongoDB 项目实战(二) 创建项目 在项目实战(一)中,已经配置好了开发环境(详见:http://www.cnblogs.com/jameslong/articles/34 ...
- appium框架之bootstrap
(闲来无事,做做测试..)最近弄了弄appium,感觉挺有意思,就深入研究了下. 看小弟这篇文章之前,先了解一下appium的架构,对你理解有好处,推荐下面这篇文章:testerhome appium ...
随机推荐
- 模仿jQuery的filter方法
对这类方法挺感兴趣的,因为方法的回调函数的返回值和jQuery变量好像没有什么关系.看了filter方法的源代码后,我就模仿了这个方法,自定义两个jQuery方法:some和every,类似于ES5新 ...
- git 基本用法
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "Helvetica Neue"; color: #454545 } p. ...
- svn服务器搭建-SuSE Linux Enterprise Server 11 SP3
svn存储版本数据也有2种方式: 1.bdb: 2.fsfs. 因为BDB方式在服务器中断时,有可能锁住数据(搞ldap时就深受其害,没法根治),所以还是FSFS方式更安全一点,我也选择这种方式. ...
- readonly属性在各浏览器中的区别
有个项目需求是正常显示时为只读,不可修改: 点击修改按钮后,可修改表单元素. 首先想到的是readonly属性,其用于规定输入字段为只读,不能修改.在javascript中消除readonly值,可将 ...
- Spring MVC中页面向后台传值的几种方式
在学习 Spring Mvc 过程中,有必要来先了解几个关键参数: @Controller: 在类上注解,则此类将编程一个控制器,在项目启动 Spring 将自动扫描此类,并进行对 ...
- idea新建项目文件名为红色的解决办法
Perference->version Control ->Directory添加项目路径,vcs选<none> 即可.
- Html5移动端页面自适应布局详解(阿里rem布局)
在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport,通读网上的各种对于viewport的解释之后 大概viewport可以理解为三种 1.layout viewport ...
- ViewPager和View的事件响应规则
案例背景: 当我们实现viewpager的自动切换界面操作的时候,如果需要增加点击图片viewpager停止自动切换,松开手指viewpager自动切换又继续执行的逻辑,正常思维下实现代码如下所示: ...
- 2-Bom
前言 window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象.由于window是顶层对象,因此调用它的子对象时可以不显示的指明window对象 例如下 ...
- Spring Security(18)——Jsp标签
目录 1.1 authorize 1.2 authentication 1.3 accesscontrollist Spring Security也有对Jsp标签的支持的标签库 ...