<form class="" id="pj-frm">
<div class="assess-header">
<span class="star-text">评分</span>
<span class="star-item" :class="[item<=curId?'on':'']" v-for="item in stararr" @click="setStar(item)"></span>
<input type="hidden" name="star" v-model="curId">
<input type="hidden" name="order_id" v-model="con.id">
<input type="hidden" name="purl" v-model="dataUrl">
</div>
<div class="assess-textarea-w">
<textarea name="content" class="assess-textarea" placeholder="请写下您真实的评价" v-model="content"></textarea>
</div>
<div class="assess-pic-wrapper" @click="AssessPic();">
<img :src="dataUrl" alt="" class="assess-picShow" ref="PicView">
<input type="file" name="" value="" class="asspicup" @change="handleFileChange" ref="flieupload" id="flieupload">
</div>
</form>
new Vue({
el: '#app',
data() {
return {
con: {},
stararr: [1,2,3,4,5],
curId:0,
dataUrl: '背景图片的地址',
content: '',
errmsg:''
};
},
components: {
},
created() {
this.getOrdDetail()
},
methods: {
getOrdDetail() {
var that = this;
var id = GetQueryString('id');
// console.log(id);
$.post('/url',{id:id},function(datas){
var state = datas.sign;
// console.log(datas);
if (state === ERROK) {
that.con = datas.data;
// console.log(that.con);
} else { } },'json')
},
setStar(id) {
// console.log(id);
this.curId = id;
},
AssessPic() {
this.$refs.flieupload.click();
},
handleFileChange () {
var that = this;
var status = this.checkImgType('#flieupload');
var file = this.$refs.flieupload.files[0];
if (status) {
var fd = new FormData();
fd.append("upload", 1);
fd.append("upfile", file);
$.ajax({
url: "。。。",
type: "POST",
dataType:'json',
processData: false,
contentType: false,
data: fd,
success: function(d) {
// $('#selfsubmitBtn').attr('disabled',false);
// $('#headPortrait').val(d.data)
that.dataUrl = d.data;
// that.saveAvatar();
}
}); } else { }
},
checkImgType(ths) {
try {
var obj_file = $(ths).get(0).files;
for(var i=0;i<obj_file.length;i++){
if (!/\.(JPEG|BMP|GIF|JPG|PNG)$/.test(obj_file[i].name.toUpperCase())) {
alert("仅支持JPG、GIF、PNG、JPEG、BMP格式");
$(ths).val("");
return false;
}
}
} catch (e) {
} return true;
},
onSubmit() {
if (this.curId===0) {
this.errmsg = '请先选择星级!';
return;
}else {
this.errmsg = '';
}
if (this.content==='') {
this.errmsg = '评价内容不能为空!';
return;
}else {
this.errmsg = '';
}
console.log($('#pj-frm').serialize());
$.post('。。。',$('#pj-frm').serialize(),function(datas){
if(datas.sign == 1){
location.href = '/';
}else{
alert(datas.msg);
return false;
}
},'json')
}
}
})

Vue简单评星效果与单张图片上传的更多相关文章

  1. JavaScript实现单张图片上传功能

    前台jsp代码 <%@ page language="java" pageEncoding="UTF-8" contentType="text/ ...

  2. 简单的html5 File base64 图片上传

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. jquery+html5实现单张图片上传预览

    js: if (window.File && window.FileReader && window.FileList && window.Blob){ ...

  4. JS图片上传预览插件制作(兼容到IE6)

    其实,图片预览功能非常地常见.很意外,之前遇到上传图片的时候都不需要预览,也一直没有去实现过.现在手上的项目又需要有图片预览功能,所以就动手做了一个小插件.在此分享一下思路. 一.实现图片预览的一些方 ...

  5. ajax图片上传及FastDFS入门案例.

    今天来开始写图片上传的功能, 现在的图片上传都讲求 上传完成后立刻回显且页面不刷新, 这里到底是怎么做的呢? 当然是借助于ajax了, 但是ajax又不能提交表单, 这里我们还要借助一个插件: jqu ...

  6. thinkphp微信开发之jssdk图片上传并下载到本地服务器

    public function test2(){ $Weixin = new \Weixin\Controller\BaseController(); $this->assign('signPa ...

  7. js 利用iframe和location.hash跨域解决的方法,java图片上传回调JS函数跨域

    奶奶的:折腾了我二天,最终攻克了!网上有非常多样例. 但跟我的都不太一样,费话不多说了,上图   上代码: IE ,firefix,chrome 測试通过 js :这个主页面,部分代码, functi ...

  8. 微信小程序图片上传并展示

    1.首先编写微信小程序的页面和样式: index.js var total = []; Page({ data: { perImgSrc: [] }, onLoad: function (option ...

  9. spring mvc 图片上传,图片压缩、跨域解决、 按天生成文件夹 ,删除,限制为图片代码等相关配置

    spring mvc 图片上传,跨域解决 按天生成文件夹 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ ...

随机推荐

  1. BZOJ 1911 (APIO 2010) 特别行动队

    题目描述 你有一支由n名预备役士兵组成的部队,士兵从1到n编号,要将他们拆分成若干特别行动队调入战场.出于默契考虑,同一支特别行动队中队员的编号应该连续,即为形如(i,i+1,-,i+k)的序列. 编 ...

  2. iOS开发之SceneKit框架--SCNScene.h

    1.SCNScene SCNScene是一个场景图——具有附加几何形状.光照.摄像机和其他属性的节点的层次结构,共同形成可显示的3D场景. 2.相关API简介 初始化方法 //懒加载 + (insta ...

  3. Sequence POJ - 3581 后缀数组

    题意: 将一个序列分成非空的三部分,将每部分翻转后组合成一个新的序列, 输出这样操作得到的序列中字典序最小的序列 (保证第一个数是数组中最大的元素) 题解: 把数组当作串串. 因为第一个数最大,所以我 ...

  4. vue2.0装jquery

    1.在项目目录下 cnpm install --save jquery 2.在webpack.base.conf.js中加入 var webpack = require('webpack') 3.在p ...

  5. 【默默努力】h5-game-heroVSmonster

    先放下作者大大的项目地址:https://github.com/yangyunhe369/h5-game-heroVSmonster 然后游戏的效果为 截动图的按键与游戏按键应该冲突,我就截几张图片了 ...

  6. mysql之备份表和备份数据库

    备份表 1.首先创建一个与原来一样的表 create table score2 like score; ###like就是将score表的结构拷贝过来,但是它并不执行数据:也就是说执行完上面的语句之后 ...

  7. Spring_数据校验和自定义检验规则和分组校验

    @Validated  :绑定需要校验的数据. 数据校验规则:为数据绑定校验的规则 private Long booId;@NotNull(message = "不能为空")pri ...

  8. sqlite3-入门日记4-实现C++类封装

    一.前言:   今天试了下如何用C++类实现接口封装,感觉蛮好 .用于封装的类主要有两个,SQLiteStatement类和SQLiteWrapper类,是一个老外写的.我看了下源码,主要是对C接口进 ...

  9. python下使用ElasticSearch

    一 什么是 ElasticSearch Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elas ...

  10. nginx 安装配置信息

    #user nobody;worker_processes 1; #error_log logs/error.log;#error_log logs/error.log notice;#error_l ...