微信小程序 教学质量问卷调查 小程序实现
界面
功能描述
1.在首页获得openid后,填写按钮生效
2.当未在填写页面提交数据时,在我的页面会提示先去填写
3.对于必选选择题,未填写会提示并不提交数据
4.当填写页面提交数据后,不可再次填写,可以在我的页面进行修改
5.当填写页面提交数据后,我的页面会展示出曾经的填写数据,可以多次修改
代码下载
gitee:https://gitee.com/Liu-Nvqing/questionnaire
坚果云:https://www.jianguoyun.com/p/DeDnpNwQzv6wChje27ME
代码(有点多就放主要代码)
<view class="title">
<image src="https://ae01.alicdn.com/kf/Hae03e05519a54df08fd8af0a946ada79t.png"></image>
</view>
<view class="content">
<text style="font-family:DFKai-SB;font-size:30rpx;">亲爱的同学:\n </text>
<text decode="{{true}}" style="font-family:DFKai-SB;font-size:30rpx;">  您好!为了了解本校软件学院学生对学校教学质量的满意度,我们特开展这次调查活动,搜集同学们的意见和建议,以提供我们改进的方向。本问卷采取不记名方式,请您放心填答。\n </text>
<text style="font-family:DFKai-SB;font-size:30rpx;color:#f4b13c;">填写说明:"*"号为必填项,谢谢!\n</text>
<view class='list-msg2' bindtap='bindSex' >
<text value="{{sex}}">{{sex}}</text>
<image style='height:20rpx;width:20rpx;' src='/icon/choose.png'></image>
</view>
<view class="select_box" wx:if="{{select_sex}}" name="sex">
<view class="select_one" bindtap="sexSelect" data-name="男" value="男">男</view>
<view class="select_one" bindtap="sexSelect" data-name="女" value="女">女</view>
</view>
<view class='list-msg2' bindtap='bindGrade'>
<text value="{{grade}}">{{grade}}</text>
<image style='height:20rpx;width:20rpx;' src='/icon/choose.png'></image>
</view>
<view class="select_box" wx:if="{{select_grade}}" name="grade">
<view class="select_one" bindtap="gradeSelect" data-name="大一" value="大一">大一</view>
<view class="select_one" bindtap="gradeSelect" data-name="大二" value="大二">大二</view>
<view class="select_one" bindtap="gradeSelect" data-name="大三" value="大三">大三</view>
</view>
<view class='list-msg2' bindtap='bindSpeciality'>
<text value="{{speciality}}">{{speciality}}</text>
<image style='height:20rpx;width:20rpx;' src='/icon/choose.png'></image>
</view>
<view class="select_box" wx:if="{{select_speciality}}" name="speciality">
<view class="select_one" bindtap="specialitySelect" data-name="软件开发" value="软件开发">软件开发</view>
<view class="select_one" bindtap="specialitySelect" data-name="企业信息化管理" value="企业信息化管理">企业信息化管理</view>
<view class="select_one" bindtap="specialitySelect" data-name="移动互联网开发" value="移动互联网开发">移动互联网开发</view>
<view class="select_one" bindtap="specialitySelect" data-name="网站建设" value="网站建设">网站建设</view>
<view class="select_one" bindtap="specialitySelect" data-name="网络规划与设计" value="网络规划与设计">网络规划与设计</view>
<view class="select_one" bindtap="specialitySelect" data-name="云应用开发与管理" value="云应用开发与管理">云应用开发与管理</view>
</view>
<view class="sChoice">
<radio-group bindchange='radioChange' wx:for="{{qnaire}}" wx:key="id" data-radioId="{{item.id}}" name="radio-group">
<view class='question'>{{item.question}}</view>
<view class='radio-group'>
<label class='radio'><radio value="a" color='#3ecdb5' />{{item.option.a}}</label>
<label class='radio' ><radio value="b" color='#3ecdb5' />{{item.option.b}}</label>
<label class='radio'><radio value="c" color='#3ecdb5' />{{item.option.c}}</label>
</view>
</radio-group>
</view>
<view class="mChoice">
<view class='question'>*7. 以下方法你觉得哪些可以提高教学质量[多选]</view>
<checkbox-group bindchange="handleItemChange" class='radio-group'>
<checkbox value="{{item.value}}" wx:for="{{qnaire_m}}" wx:key="id" class='radio' >{{item.name}}</checkbox>
</checkbox-group>
</view>
<button bindtap="submit">提交</button>
</view>
<view class="title">
<image src="https://ae01.alicdn.com/kf/Hae03e05519a54df08fd8af0a946ada79t.png"></image>
</view>
<view class="content">
<text style="font-family:DFKai-SB;font-size:30rpx;">亲爱的同学:\n </text>
<text decode="{{true}}" style="font-family:DFKai-SB;font-size:30rpx;">  您好!为了了解本校软件学院学生对学校教学质量的满意度,我们特开展这次调查活动,搜集同学们的意见和建议,以提供我们改进的方向。本问卷采取不记名方式,请您放心填答。\n </text>
<text style="font-family:DFKai-SB;font-size:30rpx;color:#f4b13c;">填写说明:"*"号为必填项,谢谢!\n</text>
<view class='list-msg2' bindtap='bindSex' >
<text value="{{sex}}">{{sex}}</text>
<image style='height:20rpx;width:20rpx;' src='/icon/choose.png'></image>
</view>
<view class="select_box" wx:if="{{select_sex}}" name="sex">
<view class="select_one" bindtap="sexSelect" data-name="男" value="男">男</view>
<view class="select_one" bindtap="sexSelect" data-name="女" value="女">女</view>
</view>
<view class='list-msg2' bindtap='bindGrade'>
<text value="{{grade}}">{{grade}}</text>
<image style='height:20rpx;width:20rpx;' src='/icon/choose.png'></image>
</view>
<view class="select_box" wx:if="{{select_grade}}" name="grade">
<view class="select_one" bindtap="gradeSelect" data-name="大一" value="大一">大一</view>
<view class="select_one" bindtap="gradeSelect" data-name="大二" value="大二">大二</view>
<view class="select_one" bindtap="gradeSelect" data-name="大三" value="大三">大三</view>
</view>
<view class='list-msg2' bindtap='bindSpeciality'>
<text value="{{speciality}}">{{speciality}}</text>
<image style='height:20rpx;width:20rpx;' src='/icon/choose.png'></image>
</view>
<view class="select_box" wx:if="{{select_speciality}}" name="speciality">
<view class="select_one" bindtap="specialitySelect" data-name="软件开发" value="软件开发">软件开发</view>
<view class="select_one" bindtap="specialitySelect" data-name="企业信息化管理" value="企业信息化管理">企业信息化管理</view>
<view class="select_one" bindtap="specialitySelect" data-name="移动互联网开发" value="移动互联网开发">移动互联网开发</view>
<view class="select_one" bindtap="specialitySelect" data-name="网站建设" value="网站建设">网站建设</view>
<view class="select_one" bindtap="specialitySelect" data-name="网络规划与设计" value="网络规划与设计">网络规划与设计</view>
<view class="select_one" bindtap="specialitySelect" data-name="云应用开发与管理" value="云应用开发与管理">云应用开发与管理</view>
</view>
<wxs module="m2">
var getEqual=function(array,number,string){
var equal=false;
var a=array[number];
if(a==string){
equal=true;
}
return equal
}
module.exports.getEqual= getEqual;
</wxs>
<view class="sChoice">
<radio-group bindchange='radioChange' wx:for="{{qnaire}}" wx:key="id" data-radioId="{{item.id}}">
<view class='question'>{{item.question}}</view>
<view class='radio-group'>
<label class='radio' ><radio value="a" color='#3ecdb5' checked="{{m2.getEqual(sChoice1, item.id,'a') ? 'true':''}}" />{{item.option.a}}</label>
<label class='radio' ><radio value="b" color='#3ecdb5' checked="{{m2.getEqual(sChoice1, item.id,'b') ? 'true':''}}" />{{item.option.b}}</label>
<label class='radio' ><radio value="c" color='#3ecdb5' checked="{{m2.getEqual(sChoice1, item.id,'c') ? 'true':''}}" />{{item.option.c}}</label>
</view>
</radio-group>
</view>
<wxs module="m1">
function fn(arr, arg) {
var result = {
indexOf: false,
toString: ''
}
result.indexOf = arr.indexOf(arg) > -1;
result.toString = arr.join(",");
return result;
}
module.exports.fn = fn;
</wxs>
<view class="mChoice">
<view class='question'>*7. 以下方法你觉得哪些可以提高教学质量[多选]</view>
<checkbox-group bindchange="handleItemChange" class='radio-group'>
<checkbox value="{{item.value}}" wx:for="{{qnaire_m}}" wx:key="id" class='radio' checked="{{m1.fn(checkedList, item.value).indexOf ? 'true':''}}">{{item.name}}</checkbox>
</checkbox-group>
</view>
<button bindtap="alter">修改</button>
</view>
代码链接
https://download.csdn.net/download/Jing0921/12625320