微信小程序调查问卷案例

这篇具有很好参考价值的文章主要介绍了微信小程序调查问卷案例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序调查问卷案例

       通过开发一个“调查问卷”的案例来掌握常用表单组件的使用,以及如何收集用户填写的表单信息提交给服务器和从服务器获取数据后显示在表单中。参考界面如图1所示。
微信小程序调查问卷案例
步骤1:新建一个微信小程序项目
步骤2:在小程序项目的pages/index/index.json文件中设置导航栏信息和样式。
步骤3:在小程序项目的pages/index/index.wxml文件中编写页面代码,具体代码如下:

<view class="container">
  <form bindsubmit="submit">
    <view class="nn">
      <text>姓名:</text>
      <input type="text" name="name" value="张三" />
    </view>
    <view class="ss">
      <text>性别:</text>
      <radio-group name="gender">
        <label><radio value="0" checked /></label>
        <label><radio value="1"/></label>
      </radio-group>
    </view>
    <view class="zz">
      <text>专业技能:</text>
      <checkbox-group name="skills">
        <label><checkbox value="html" checked />HTML</label>
        <label><checkbox value="css" checked />CSS</label>
        <label><checkbox value="js" />JavaScript</label>
        <label><checkbox value="ps" />Photoshop</label>
      </checkbox-group>
    </view>
    <view>
      <text>您的意见:</text>
      <textarea name="opinion" value="测试"></textarea>
    </view>
    <button form-type="submit" type="primary">提交</button>
  </form>
</view>

步骤4:在小程序项目的pages/index/index.wxss文件中编写页面样式,参考代码如下(可以根据自己爱好进行设置,公共样式文件可以清空):

.container{margin:50rpx;}
 view{margin-bottom: 30rpx;}
 view.nn,view.ss{display: flex;}
 input{border: 2rpx solid #ccc;height:60rpx;width: 540rpx;margin-left: 20rpx;margin-top: -5rpx;}
view.ss label{margin-left: 20rpx;}
view.zz label{display: block;margin-top: 15rpx;}
textarea{border: 2rpx solid #ccc;width: 640rpx;height:200rpx;margin-top: 10rpx;}

步骤5:按照下面步骤使用Node.js在本地搭建一个HTTP服务器。(很重要)
① 下载Node.js(https://nodejs.org),选择长期支持版下载。
② 安装Node.js,双击下载的安装包安装即可,安装选项全部使用默认值。
③ 在小程序项目所在文件夹的在路径下创建一个空文件夹(例如form-server)来存放小程序项目对应的服务器端文件。
④ 在服务器端文件所在文件夹(例如form-server)下进入DOS命令界面。
⑤ 初始化服务器端项目,将会自动创建package.json配置文件。 npm init -y
⑥ 安装Express框架,用于快速搭建HTTP服务器。 npm install express --save
⑦ 安装nodemon监控代码修改。 npm install nodemon -g
⑧ 安装Notepad++软件。
⑨ 在服务器端文件所在文件夹(例如form-server)中创建index.js文件,利用Notepad++软件编写简单的服务器端代码如下。

const express=require('express')  //加载express模块
const bodyParser=require('body-parser')    //加载bodyParser模块用来解析客户端发过来的实体信息
const app=express()  //创建express实例,保存在app中
app.use(bodyParser.json())   //将bodyParser解析模块加入到app中,采用json格式,
                        //因为微信小程序提交给服务器的信息采用json格式
//处理post请求
app.post('/',(req,res)=>{   //接收post请求,第一个参数为请求路径,第二个参数为回调函数
console.log(req.body)     //将接收到的数据输出到命令行
res.json(req.body)           //将接收到的数据响应给客户端
})
//监听3000端口
app.listen(3000,()=>{
  console.log('server running at http://127.0.0.1:3000')
})

⑩ 启动服务器。nodemon index.js
上述命令执行后,如果看到server running at http://127.0.0.1:3000表示启动成功。
步骤6:在小程序项目的pages/index/index.js文件中编写表单提交的事件处理函数,利用wx.request()向本地服务器发送post请求,具体代码如下:

submit:function(e){
    console.log(e.detail.value);     // 看输出的结果了解表单提交是如何收集数据的
    wx.request({
      method:'post',             //method表示请求方式
      url: 'http://127.0.0.1:3000/',  //url表示请求的服务器接口地址
      data:e.detail.value,         //data表示请求参数,即发给服务器的数据
      success:function(res){      //success表示请求成功的回调函数,其中res表示服务器响应信息
        console.log(res);       //看输出结果,了解res中的内容
      }
    })
  }

运行小程序,单击页面“提交”按钮,在控制台下显示图2的结果。
微信小程序调查问卷案例
上图中:
       data:服务器响应的数据
       errMsg:请求成功或失败的信息
       header:服务器的响应头
       statusCode:服务器的响应状态码
该步骤中要掌握wx.request()API请求服务器的使用。
步骤7:将表单中显示的默认数据保存在项目的pages/index/index.js文件的data数据中。代码如下:

data:{
    name:'张三',
    gender:[
      {name:'男',value:'0',checked:true},
      {name:'女',value:'1',checked:false}
    ],
    skills:[
      {name:'HTML',value:'html',checked:true},
      {name:'CSS',value:'css',checked:true},
      {name:'JavaScript',value:'js',checked:false},
      {name:'Photoshop',value:'ps',checked:false}
    ],
    opinion:'测试'
  }

步骤8:将data中的数据绑定到表单中,实现表单的默认显示状态。将项目的pages/index/index.wxml文件的内容修改如下:

<view class="container">
  <form bindsubmit="submit">
    <view class="nn">
      <text>姓名:</text>
      <input type="text" name="name" value="{{name}}" />
    </view>
    <view class="ss">
      <text>性别:</text>
      <radio-group name="gender">
        <label wx:for="{{gender}}" wx:key="value">
          <radio value="{{item.value}}" checked="{{item.checked}}" />{{item.name}}
        </label>
      </radio-group>
    </view>
    <view class="zz">
      <text>专业技能:</text>
      <checkbox-group name="skills">
        <label for="" wx:for="{{skills}}" wx:key="value">
          <checkbox value="{{item.value}}" checked="{{item.checked}}" />{{item.name}}
        </label>
      </checkbox-group>
    </view>
    <view>
      <text>您的意见:</text>
      <textarea name="opinion" value="{{opinion}}"></textarea>
    </view>
    <button form-type="submit" type="primary">提交</button>
  </form>
</view>

步骤9:将小程序项目的pages/index/index.js文件的data中的数据删除,放入服务器端,然后微信小程序向服务器发请求获取数据。在服务器端项目index.js文件的app.listen()前面添加如下代码:

var data={
    name:'张三',
    gender:[
      {name:'男',value:'0',checked:true},
      {name:'女',value:'1',checked:false}
    ],
    skills:[
      {name:'HTML',value:'html',checked:true},
      {name:'CSS',value:'css',checked:true},
      {name:'JavaScript',value:'js',checked:false},
      {name:'Photoshop',value:'ps',checked:false}
    ],
    opinion:'测试'
}
//处理get请求
app.get('/',(req,res)=>{
  res.json(data)     //将数据以json格式响应给客户端
})

步骤10:完成服务器端代码后,在小程序项目的pages/index/index.js文件的onLoad()事件函数中实现页面加载后自动向服务器发送请求,获取表单所需的初始数据,具体代码如下:

 onLoad:function(){
    var that=this;
    wx.request({
      method:'get',      //可以省略,默认为get请求
      url:'http://127.0.0.1:3000/',
       success:function(res){
         that.setData(res.data)     //this的指向会发生变化,将服务器请求过来的数据设置给//pages/index/index.js文件中的data
      }
    })
  }

运行小程序,出现预期效果,结束。文章来源地址https://www.toymoban.com/news/detail-424764.html

到了这里,关于微信小程序调查问卷案例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于selenium实现自动填写问卷星的问卷调查

    废话不多说,直接上解决方案: 没用用过selenium的小朋友记得先安装配置一下: 谷歌浏览器驱动的安装及selenium的安装与使用 - 知乎  防止有人不看参数说明,再写一遍: 注意:由于时间有限,目前我只做了单选和多选这两类选择题的自动填写,后续有时间的话会继续更新其

    2024年02月04日
    浏览(37)
  • 调查问卷平台哪家好?

    在如今的数字化时代,问卷调查已成为企业和组织了解顾客需求、员工满意度以及市场趋势的重要工具。然而,在众多的在线调查工具中, 为什么我们要选择Zoho Survey? 1、多种问卷题型: Zoho Survey提供丰富多样的问题类型,包括单选题、多选题、文本题、评分题等。用户可

    2024年02月11日
    浏览(28)
  • 仿造问卷星--开发一套调查问卷设计工具(3/3)--完整流程

    1,定义一个结果的对象: id,name和questions分别对应问卷id,问卷名称和问卷题目。 2,结果赋值 用户点击生成问卷按钮时, 分别从id和name文本框中获取值 --赋值给resultObj 将上节课拿到的question赋值给刚刚定义的对象: 打印输出结果: json结果: 3,pretty-print-json的使用 引入

    2023年04月11日
    浏览(37)
  • 仿造问卷星--开发一套调查问卷设计工具(1/3)--完整流程

    一,开发前的准备 第一步,初始化项目 创建package.json 首先,新建一个空文件夹项目,在空文件上按shift键同时鼠标右击,打开命令终端窗口 第二步,安装项目依赖 Parcel 快速部署工具,官网:https://parceljs.org/docs/ Parcel是一款极速零配置WEB应用打包工具,快速、几乎零配置是

    2023年04月08日
    浏览(26)
  • 医院患者满意度调查问卷示例

    以下是一个简单的医院患者满意度调查问卷示例,供参考。请注意,实际的问卷可能需要根据医院的特定需求和目标进行定制。 个人信息(可选): 您的年龄: [填写您的年龄]岁 您的性别: [选择性别] 男性 / 女性 / 其他 1. 您在本次就诊中对医疗护理的满意度: 非常满意

    2024年02月01日
    浏览(36)
  • 调查问卷Type Form的集成

    Typeform是一家制作线上调查问卷的公司。 Muñoz 和 David Okuniev两人于2012年创作出一个更加动态、更具交互性的用户调查工具,每次只提一个问题,并且根据用户的回答为其呈现下一个问题,像和朋友间的对话一样,让用户在不知不觉中就完成了问卷。 Typeform将帮你获得有关产品

    2024年02月10日
    浏览(70)
  • 求免费好用的问卷调查平台!

    在当今信息时代,了解客户需求和市场趋势对企业的发展至关重要。而问卷调查是一种常见、有效的数据收集方式。本文将介绍一款 专业好用的问卷调查工具 ——Zoho Survey。我们将从功能特点、用户体验、数据分析和安全性四个方面来探讨它为用户带来的价值。 Zoho Survey提供

    2024年02月09日
    浏览(29)
  • Vue+Element UI完成新建调查问卷

    先看看效果图: 添加填空题:  添加单选题、多选题: 对新增的题目可以上移、下移、编辑、删除操作:  效果大致就是这样,实现代码:    

    2024年02月11日
    浏览(27)
  • 【学习记录】SPSS问卷调查表分析法

    用excel将收集的问卷数据存储,并用SPSS进行数据分析 此例是将收集到的字符型数据转换为易于分析的数值型数据,将列明转换为有代表性的简明的字符数值组合 注:①字符型数据转换为数值型数据:excel中,“查找和选择”-“替换”-“全部替换” ②excel中列数据只保留数值

    2024年02月02日
    浏览(29)
  • 调查问卷平台:企业想做用户调研,怎么施行?

    用户调研是一种获取消费者需求和反馈的重要手段,可以帮助企业更好地了解自己的用户,从而优化产品设计和改善客户服务。那么,如何进行用户调研呢?下面将从几个方面介绍。 首先,需要明确调研目的,以确保调研的有效性。调研目的可以包括: 1、了解目标用户的需

    2024年02月12日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包