精华内容
下载资源
问答
  • 调查的过程中,会发布线上问卷。那么怎样发布问卷呢,本教程介绍了如何发布线上调查问卷的操作方法。
  • 问卷星制作发布分析调查问卷;在线调查问卷系统 提供问卷设计,发布,管理,收集及分析服务的系统 ;课堂任务;操作步骤;操作步骤;操作步骤;操作步骤;操作步骤;操作步骤;操作步骤;操作步骤;操作步骤;Tha nks
  • 楼市调研问卷

    2020-12-22 08:40:17
    这是一款整理发布的楼市调研问卷,适合所有涉及楼市调研问卷参考学习,欢迎下载使用!PS:可下...该文档为楼市调研问卷,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 调查问卷

    千次阅读 2017-10-27 13:23:30
    在线调查问卷在我们的生活中应用的非常广泛,能够非常方便快捷的获取到我们需要的信息,统计分析出相关核心的数据,方便我们的决策。在微信发展迅速的时代,覆盖面非常的大,那么基于微信公众号去推送我们的在线问卷...
    
    

    在线调查问卷在我们的生活中应用的非常广泛,能够非常方便快捷的获取到我们需要的信息,统计分析出相关核心的数据,方便我们的决策。在微信发展迅速的时代,覆盖面非常的大,那么基于微信公众号去推送我们的在线问卷调查,这个就是一个相当方便、有价值的系统。那么,今天我就来大概讲一讲利用我们起步公司研发的WeX5平台快速开发出一款在线调查问卷的系统,我们主要分以下几个步骤讲解,如有纰漏,还望及时指出,谢谢微笑

    一、效果图展示

    效果图展示主要分为后台的数据管理及前端的调查问卷:

    后台管理系统效果图如下所示:

    问卷调查发布页面:


    问卷调查统计页面:


    问卷调查汇总页面:


    问卷调查详情页面:


    微信公众号中的前端效果图:



    二、在线调查后台管理

    在线调查后台管理系统主要用于对调查问卷的发布及统计信息进行管理,方便管理人员对所有发布信息的管控,以及对调查的问卷进行汇总统计,总结出有利于生产的有价值的数据。我们在项目选型之前,考虑了java框架的后台以及BeX5的平台,分析评估后一致觉得BeX5平台在开发效率和后期维护、性能稳定方面都有非常大的优势,所以我们使用该平台作为我们后台管理系统的主选开发平台。在项目开发过程中也确实体现了该平台强大的优势:上手快、开发效率高、维护成本低、性能稳定。详细的后台管理系统的界面见上面的后台效果图。

    废话不多说了,看看后台的开发界面吧,感受一下BeX5开发平台带给我们的快感奋斗奋斗


    是不是很壮观的页面啊,包括了源码、设计、JS、CSS,还有一系列的封装好的组件可供使用。其中设计页面,可实现拖拽布局、js页面实现前端逻辑处理、css实现样式。好了,贴些代码感受一下js的强大吧:

    [javascript] view plain copy
    1. define(function(require) {  
    2.     var $ = require("jquery");  
    3.     var justep = require("$UI/system/lib/justep");  
    4.     var biz = require("$UI/system/lib/biz");  
    5.   
    6.     var Model = function() {  
    7.         this.callParent();  
    8.     };  
    9.   
    10.     var mainData = "";  
    11.     Model.prototype.modelLoad = function(event) {  
    12.         mainData = this.comp("mainData");  
    13.         var type = this.getContext().getRequestParameter("type");  
    14.         if (type == "new") {  
    15.             mainData.newData();  
    16.         } else if (type == "edit") {  
    17.             var data = this.getContext().getRequestParameter("data");  
    18.             if (data) {  
    19.                 var filter = "RM_VS_Paper='" + data + "'";  
    20.                 mainData.setFilter("____dataFilter_", filter);  
    21.                 mainData.refreshData();  
    22.             }  
    23.             if (mainData.getValue("fPState") == "已完成"  
    24.                     || mainData.getValue("fPState") == "已终止") {  
    25.                 this.comp("trgFinish").set({  
    26.                     "disabled" : "true"  
    27.                 });  
    28.                 this.comp("trgAbort").set({  
    29.                     "disabled" : "true"  
    30.                 });  
    31.                 this.comp("saveBtn").set({  
    32.                     "disabled" : "true"  
    33.                 });  
    34.                 this.comp("surveyBtn").set({  
    35.                     "disabled" : "true"  
    36.                 });  
    37.   
    38.                 this.comp("button6").set({  
    39.                     "disabled" : "true"  
    40.                 });  
    41.                 this.comp("button4").set({  
    42.                     "disabled" : "true"  
    43.                 });  
    44.                 this.comp("button5").set({  
    45.                     "disabled" : "true"  
    46.                 });  
    47.                 this.comp("button9").set({  
    48.                     "disabled" : "true"  
    49.                 });  
    50.                 this.comp("button7").set({  
    51.                     "disabled" : "true"  
    52.                 });  
    53.                 this.comp("button8").set({  
    54.                     "disabled" : "true"  
    55.                 });  
    56.   
    57.                 this.comp("addBtn").set({  
    58.                     "disabled" : "true"  
    59.                 });  
    60.                 this.comp("button11").set({  
    61.                     "disabled" : "true"  
    62.                 });  
    63.             }  
    64.   
    65.         }  
    66.   
    67.         var uploader = this.comp("attachmentSimple1").uploader;  
    68.         var data = this.comp("dQuestion");  
    69.         uploader.on('onFileSelected'function(event) {  
    70.             var fileName = event.file.name;  
    71.             fileName.lastIndexOf(".")  
    72.             var fileType = fileName.substr(fileName.lastIndexOf(".") + 1,  
    73.                     fileName.length).toLowerCase();  
    74.             // alert(fileType);  
    75.             if (fileType != "jpg" && fileType != "png") {  
    76.                 alert("请选择jpg或者png格式文件!");  
    77.                 event.cancel = true;  
    78.                 return;  
    79.             }  
    80.             // 只能上传一张,再次上传则替换  
    81.             var img = data.val("fQuestionPic");// 要在这里取值  
    82.             if (img !== null && img != "" && img !== "[]"  
    83.                     && typeof (img) !== "undefined") {  
    84.                 data.setValue("fQuestionPic""");  
    85.             }  
    86.         });  
    87.   
    88.     };  
    89.   
    90.     // 新增  
    91.     Model.prototype.newBtnClick = function(event) {  
    92.         var url = "$UI/riskMonitor/survey/process/surveySend/detailActivity.w?process=/riskMonitor/survey/process/surveySend/surveySendProcess&activity=surveySendActivity&type=new&data="  
    93.                 + mainData.getCurrentRowID();  
    94.         justep.Portal.openWindow(url, {  
    95.             title : "问卷调查发布"  
    96.         });  
    97.     };  
    98.   
    99.     // 完成调查  
    100.     Model.prototype.trgFinishDOMActivate = function(event) {  
    101.         var messageDialog2 = this.comp("messageDialog2");  
    102.         messageDialog2.show();  
    103.         messageDialog2.on("onOk"function(event) {  
    104.             var paperID = mainData.getCurrentRowID();  
    105.             mainData.setValue("fPState""已完成");  
    106.             mainData.setValue("fFinishTime"new Date());  
    107.             mainData.saveData();  
    108.             mainData.filters.setFilter("paperFilter""RM_VS_Paper='" + paperID  
    109.                     + "'");  
    110.             mainData.refreshData();  
    111.             this.callBackFun();  
    112.         }, this);  
    113.     };  
    114.   
    115.     // 撤销问卷  
    116.     Model.prototype.trgAbortDOMActivate = function(event) {  
    117.         var messageDialog3 = this.comp("messageDialog3");  
    118.         messageDialog3.show();  
    119.         messageDialog3.on("onOk"function(event) {  
    120.             var paperID = mainData.getCurrentRowID();  
    121.             mainData.setValue("fPState""已终止");  
    122.             mainData.saveData();  
    123.             mainData.filters.setFilter("paperFilter""RM_VS_Paper='" + paperID  
    124.                     + "'");  
    125.             mainData.refreshData();  
    126.             this.callBackFun();  
    127.         }, this);  
    128.     };  
    129.     // 回调函数?????????????????????????  
    130.     Model.prototype.callBackFun = function(event) {  
    131.         this.comp("trgFinish").set({  
    132.             "disabled" : "true"  
    133.         });  
    134.         this.comp("trgAbort").set({  
    135.             "disabled" : "true"  
    136.         });  
    137.         this.comp("saveBtn").set({  
    138.             "disabled" : "true"  
    139.         });  
    140.         this.comp("deleteBtn").set({  
    141.             "disabled" : "true"  
    142.         });  
    143.         this.comp("surveyBtn").set({  
    144.             "disabled" : "true"  
    145.         });  
    146.   
    147.         this.comp("button6").set({  
    148.             "disabled" : "true"  
    149.         });  
    150.         this.comp("button4").set({  
    151.             "disabled" : "true"  
    152.         });  
    153.         this.comp("button5").set({  
    154.             "disabled" : "true"  
    155.         });  
    156.         this.comp("button9").set({  
    157.             "disabled" : "true"  
    158.         });  
    159.         this.comp("button7").set({  
    160.             "disabled" : "true"  
    161.         });  
    162.         this.comp("button8").set({  
    163.             "disabled" : "true"  
    164.         });  
    165.   
    166.         /* 
    167.          * var caller = null; var callerName = 
    168.          * justep.Request.URLParams.callerName; if(callerName && (callerName != 
    169.          * '')) { var frames = window.parent.frames; for(var i=0; i<frames.length; 
    170.          * i++) { if(frames[i].name == callerName) { caller = frames[i]; break; } } } 
    171.          * if(caller) { if(caller.dataChangeCallBackFun) { //var data = 
    172.          * justep.xbl('dPaper'); var id = mainData.getCurrentRowID(); 
    173.          * caller.dataChangeCallBackFun(id); } } 
    174.          */  
    175.     };  
    176.   
    177.     // 调查发布  
    178.     Model.prototype.button1Click = function(event) {  
    179.         var mainData = this.comp('mainData');  
    180.         var paperID = mainData.getCurrentRowID();  
    181.         if (mainData.getCount() == 0) {  
    182.             alert("请选择要发布的问卷信息!");  
    183.             return;  
    184.         }  
    185.         var fPState = mainData.getValue("fPState");  
    186.         if (fPState == "编制中") {  
    187.             var messageDialog1 = this.comp("messageDialog1");  
    188.             messageDialog1.show();  
    189.             messageDialog1.on("onOk"function(event) {  
    190.                 mainData.setValue("fPState""已发布");  
    191.                 mainData.setValue("fSendTime"new Date());  
    192.                 mainData.saveData();  
    193.                 mainData.filters.setFilter("paperFilter""RM_VS_Paper='"  
    194.                         + paperID + "'");  
    195.                 mainData.refreshData();  
    196.             }, this);  
    197.         } else if (fPState == "已发布") {  
    198.             alert("本次调查已发布,不能再进行发布!");  
    199.         } else if (fPState == "已终止") {  
    200.             alert("本次在线调查已终止,不能再进行问卷发布!");  
    201.         } else {  
    202.             alert("本次在线调查已完成,不能再进行问卷发布!");  
    203.         }  
    204.     };  
    205.   
    206.     // 问卷调查预览  
    207.     Model.prototype.trgPreviewDOMActivate = function(event) {  
    208.         var process = this.getContext().getCurrentProcess();// justep.Context.getCurrentProcess();  
    209.         var activity = this.getContext().getCurrentActivity();// justep.Context.getCurrentActivity();  
    210.         var mainData = this.comp("mainData");  
    211.         var paperid = mainData.getCurrentRowID();  
    212.         // var url =  
    213.         // "/riskMonitor/survey/process/surveyPaper/surveyPaper.j?process=" +  
    214.         // process + "&activity=" + activity + "&paperID=" + paperid;  
    215.         var url = "$UI/riskMonitor/survey/process/surveyPaper/surveyPaper.j?process="  
    216.                 + process + "&activity=" + activity + "&paperID=" + paperid;  
    217.         justep.Portal.openWindow(url, {  
    218.             title : "调查问卷预览"  
    219.         });  
    220.     };  
    221.   
    222.     Model.prototype.addBtnClick = function(event) {  
    223.         // 添加调查员  
    224.         this.comp("windowDialog").open();  
    225.     };  
    226.   
    227.     return Model;  
    228. });  

    三、前端开发

    前面我们讲解了后台管理系统的开发,那么还有一个最重要的前端展示,我们选择了WeX5平台,WeX5平台封装了相当多的H5组件,方便我们开发人员的拖拽,只要熟悉h5、js、css就可以完全胜任前端的开发了。

    前端UI:完全恪守html5+css3+js,干净纯洁
    设备api:采用业界主流Phonegap/Cordova
    后端:标准协议,支持所有主流技术和平台
    (java、node、php、.net等)

    向导、模板:简单定义,即可轻松制作向导和模板
    主题、样式:海量bootstrap资源引入和定制
    UI组件:纯H5+CSS3,轻松引入第三方UI组件
    插件:轻松对接即时通讯、推送、支付等各类插件
    后端:轻松调用后端组件和api,并实现可视化

    各种应用打包:无任何限制和费用,打包多种应用
    (Android apk,ios ipa、微信和其他轻应用)
    各种打包模式:快捷打包、远程服务打包、原生环境打包,
    给你所有的打包方式和方便性

    我们可以使用WeX5平台开发出安卓、苹果手机App,也可以开发出基于微信的项目,非常的方便。


    前端开发页面类似于BeX5的开发页面,可以对问答题、单选题、多选题、判断题进行控制显示,涵盖了大多数的调查问卷格式,可以应用于多个行业。

    看下在线调查的前端js代码:

    [javascript] view plain copy
    1. define(function(require) {  
    2.     var $ = require("jquery");  
    3.     var justep = require("$UI/system/lib/justep");  
    4.     var Baas = justep.Baas;  
    5.   
    6.     var Model = function() {  
    7.         this.callParent();  
    8.         this._userID = "";  
    9.         this._userNickName = "";  
    10.         this._userAdrress = "";  
    11.         this._longtitude = "";  
    12.         this._latitude = "";  
    13.     };  
    14.   
    15.     // 获取页面索引  
    16.     Model.prototype.MyGetIndex = function(event) {  
    17.         return this.comp("data1").getRowIndex(this.comp("data1").getCurrentRow()) + 1;  
    18.     };  
    19.   
    20.     Model.prototype.modelParamsReceive = function(event) {  
    21.         var paperID = this.getContext().getRequestParameter("paperID");  
    22.         var data1 = this.comp("data1");  
    23.         var surveyData = this.comp("surveyData");  
    24.         surveyData.setFilter("surveyFilter0""fPaperID = '" + paperID + "' and fPerID = '" + this.getContext().getRequestParameter("openID") + "'");  
    25.         surveyData.refreshData();  
    26.         if (surveyData.getCount() > 0 && surveyData.getFirstRow().val("fSState") == "已完成") {  
    27.             this.setPropReadonly();  
    28.         }  
    29.         ;  
    30.         Baas.sendRequest({  
    31.             "url" : "/riskMonitor/riskMonitor",  
    32.             "action" : "queryQuestion",  
    33.             "async" : false,  
    34.             "params" : {  
    35.                 paperID : paperID,  
    36.                 openID : this.getContext().getRequestParameter("openID")  
    37.             },  
    38.             "success" : function(data) {  
    39.                 data1.loadData(data);  
    40.                 data1.refreshData();  
    41.             },  
    42.             "error" : function(msg) {  
    43.                 justep.Util.hint("获取调查问题失败", {  
    44.                     "type" : "danger"  
    45.                 });  
    46.             }  
    47.         });  
    48.     };  
    49.   
    50.     // 转换动态图片URL  
    51.     Model.prototype.transURL = function(picture, rowID) {  
    52.         if (!picture)  
    53.             return null;  
    54.         var src = null;  
    55.         if (picture !== null && picture !== "" && picture !== "[]") {  
    56.             var imageJson = eval("(" + picture + ")");  
    57.             var realFileName = imageJson[0].realFileName;  
    58.             var storeFileName = imageJson[0].storeFileName;  
    59.             var operateType = "browse";  
    60.             var url = '/baas/justep/attachment/simpleFileStore?realFileName=' + realFileName + '&storeFileName=' + storeFileName + '&ownerID=' + rowID + '&operateType=' + operateType;  
    61.             src = require.toUrl(url);  
    62.         }  
    63.         return src;  
    64.     };  
    65.   
    66.     Model.prototype.setPropReadonly = function(event) {  
    67.         this.comp("button1").set({  
    68.             disabled : true  
    69.         });  
    70.         this.comp("textarea1").set({  
    71.             disabled : true  
    72.         });  
    73.         this.comp("checkboxGroup1").set({  
    74.             disabled : true  
    75.         });  
    76.         this.comp("radioGroup1").set({  
    77.             disabled : true  
    78.         });  
    79.     };  
    80.   
    81.     Model.prototype.getWeixinUser = function(event) {  
    82.         // 获取url上的code参数 - 微信授权code,用于获取微信用户信息  
    83.         var weixinCode = this.getContext().getRequestParameter("code");  
    84.         var self = this;  
    85.         if (weixinCode !== "") {  
    86.             justep.Baas.sendRequest({  
    87.                 "url" : "/riskMonitor/weixin",  
    88.                 "action" : "userinfo",  
    89.                 "async" : false,  
    90.                 "params" : {  
    91.                     code : weixinCode  
    92.                 },  
    93.                 "success" : function(weixinUser) {  
    94.                     self._userID = weixinUser.openid;  
    95.                     self._userNickName = weixinUser.nickname;  
    96.                 },  
    97.                 "error" : function(msg) {  
    98.                     justep.Util.hint("获取用户信息失败", {  
    99.                         "type" : "danger"  
    100.                     });  
    101.                 }  
    102.             });  
    103.         }  
    104.     };  
    105.   
    106.     // 提交问卷  
    107.     Model.prototype.button1Click = function(event) {  
    108.         // 需将参与调查的人员信息插入到survey表中。回答的内容插入到details表中  
    109.         // 提交调查问卷  
    110.         var surveyData = this.comp("surveyData");  
    111.         var detailData = this.comp("detailData");  
    112.         var data1 = this.comp("data1");  
    113.         var self = this;  
    114.         // 插入回答此问卷人的信息  
    115.         var surveyID = justep.UUID.createUUID();  
    116.         var openID = this.getContext().getRequestParameter("openID");  
    117.         var nickName = this.getContext().getRequestParameter("nickName");  
    118.         var surveyType = this.getContext().getRequestParameter("surveyType");  
    119.   
    120.         // 如果openID为空,默认是临时用户  
    121.         if (openID === "") {  
    122.             openID = "temp_" + justep.UUID.createUUID();  
    123.         }  
    124.         if (nickName === "") {  
    125.             nickName = "temp";  
    126.         }  
    127.   
    128.         var surveyRows = surveyData.newData({  
    129.             index : 0,  
    130.             defaultValues : [ {  
    131.                 "fID" : surveyID,  
    132.                 "fPaperID" : this.getContext().getRequestParameter("paperID"),  
    133.                 "fPerID" : openID,  
    134.                 "fPerName" : nickName,  
    135.                 "fSState" : "已完成",  
    136.                 "fFinishTime" : justep.Date.toString(new Date(), justep.Date.STANDART_FORMAT),  
    137.                 "fAddress" : this._userAddress,  
    138.                 "flongitude" : this._longtitude,  
    139.                 "fLatitude" : this._latitude  
    140.             } ]  
    141.         });  
    142.         var detailRows = null;  
    143.         var success = function(resultData) {  
    144.             var tempdefaultValues = [];  
    145.             // 开始插入答卷人答卷答案  
    146.             data1.each(function(param) {  
    147.                 var tempAnswerJson = {  
    148.                     "fID" : justep.UUID.createUUID(),  
    149.                     "fSurveyID" : surveyID,  
    150.                     "fQuestionID" : param.row.val("fID"),  
    151.                     "fAnswer" : param.row.val("fAnswer")  
    152.                 };  
    153.                 tempdefaultValues.push(tempAnswerJson);  
    154.             });  
    155.   
    156.             detailData.newData({  
    157.                 index : 0,  
    158.                 defaultValues : tempdefaultValues,  
    159.             });  
    160.             detailRows = detailData.saveData({  
    161.                 "onSuccess" : function(resultData) {  
    162.                     // justep.Util.hint("交卷成功!");  
    163.                     if (surveyType == "qrcode") {  
    164.                         justep.Util.hint("提交成功!");  
    165.                         if (self.wxApi) {  
    166.                             self.wxApi.exec().done(function(wx) {  
    167.                                 wx.closeWindow();  
    168.                             });  
    169.                         }  
    170.                     } else {  
    171.                         justep.Shell.showPage(require.toUrl("./paper.w?_userID=" + self.getContext().getRequestParameter("openID") + "&_userNickName="  
    172.                                 + self.getContext().getRequestParameter("nickName")));  
    173.                     }  
    174.                 },  
    175.                 "onError" : function(msg) {  
    176.                     detailData.deleteData(detailRows);  
    177.                     justep.Baas.showError(msg);  
    178.                 }  
    179.             });  
    180.   
    181.         };  
    182.         var error = function(msg) {  
    183.             // 保存失败后清除数据  
    184.             surveyData.deleteData(surveyRows);  
    185.             justep.Baas.showError(msg);  
    186.         };  
    187.   
    188.         surveyData.saveData({  
    189.             "onSuccess" : success,  
    190.             "onError" : error  
    191.         });  
    192.         // }, this);  
    193.     };  
    194.   
    195.     Model.prototype.data1IndexChanged = function(event) {  
    196.         var rowID = event.source.getCurrentRowID();  
    197.         var itemsData = this.comp("itemsData");  
    198.         itemsData.setFilter("itemFilter0""fQuestionID = '" + rowID + "'");  
    199.         itemsData.refreshData();  
    200.     };  
    201.   
    202.     // 设置微信标题  
    203.     Model.prototype.modelModelConstruct = function(event) {  
    204.         document.title = this.getContext().getRequestParameter("paperName");  
    205.     };  
    206.   
    207.     Model.prototype.modelLoad = function(event) {  
    208.         if (justep.Browser.isWeChat) {  
    209.             this.wxApi = new navigator.WxApi("wxcc420846eb481632");  
    210.         }  
    211.         // var self = this;  
    212.         // // 获取url上的code参数 - 微信授权code,用于获取微信用户信息  
    213.         // var weixinCode = this.getContext().getRequestParameter("openID");  
    214.         // // 判断运行环境是否在X5移动客户端中,如果在移动客户端中,则当deviceready后取手机设备uuid作为用户唯一标识  
    215.         // if (weixinCode !== "") {  
    216.         // if (justep.Browser.isWeChat) {  
    217.         // self.wxApi = new navigator.WxApi("wxcc420846eb481632");  
    218.         // }  
    219.         // }  
    220.     };  
    221.   
    222.     return Model;  
    223. });  

    四、WeX5平台介绍

    wex5平台是北京起步公司开发的面向移动应用的开源平台

    • 定位开发面向消费者和公众的开放应用系统
    展开全文
  • 调查快车19号发布了p00498 品牌调研问卷三元所需时间10分子吧,有时间的会员做吧,但是这份问卷只限现只面北京,上海,广州,成都,杭州,沈阳,南京,福州,武汉!的的会员!别的地方的会员就别做了[@more@]回首页...
    调查快车19号发布了p00498 品牌调研,问卷三元所需时间10分子吧,有时间的会员做吧,但是这份问卷只限现只面北京,上海,广州,成都,杭州,沈阳,南京,福州,武汉!的的会员!别的地方的会员就别做了[@more@]

    回首页 本站推荐重重推荐 第一调查网 中国调查网

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14193437/viewspace-1054309/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/14193437/viewspace-1054309/

    展开全文
  • NULL 博文链接:https://liujunsong.iteye.com/blog/345511
  • 【.NET】对发布网站的临时调查问卷

    热门讨论 2017-03-11 08:23:29
    通过邮件或者问卷的形式效果不是很好,所以采用每次在用户访问网站的时候询问用户是否有建议 如果有,则保存用户的建议,如果没有,就进行用户自己后续的操作 但是这个系统是个已经发布好的网站,无法添加功能,...

    背景

    由于项目中应用了一个资料管理系统,需要前期收集大家的建议

    通过邮件或者问卷的形式效果不是很好,所以采用每次在用户访问网站的时候询问用户是否有建议

    如果有,则保存用户的建议,如果没有,就进行用户自己后续的操作

    但是这个系统是个已经发布好的网站,无法添加功能,而且也只是阶段使用

    所以采用嵌入js代码,访问另一个网站,保存用户的数据


    功能

    1. 在以发布网站中的网页嵌入js实现跳转
    2. 在另一个网站接收用户建议,保存到本地

    代码

    原网站嵌入js

    <script type="text/javascript">
        window.onload = function () {
            var a = confirm("您可以对该网站提一些建议吗?");
            if (a==true)  
            {
                window.open('http://192.168.xx.xxx');
            }
        }
    </script>

    新建网站后台

    public partial class Suggestion : System.Web.UI.Page
    {
        string path = System.Configuration.ConfigurationManager.AppSettings["SuggestionTxtPath"];//读取配置文件中路径地址
    
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.Form["user_name"] != null && Request.Form["user_suggestion"]!=null)
                {
                    string name = Request.Form["user_name"].ToString();
                    string suggestion = Request.Form["user_suggestion"].ToString();
    
                    if (!File.Exists(path))
                    {
                        FileStream fs1 = new FileStream(path, FileMode.Create, FileAccess.Write);//创建写入文件 
                        StreamWriter sw = new StreamWriter(fs1);
                        sw.WriteLine("时间 : "+DateTime.Now);
                        sw.WriteLine(name + " : " + suggestion + "\n");//开始写入值
                        sw.WriteLine("\n");
                        sw.WriteLine("------------------------------------\n");
                        sw.WriteLine("\n");
                        sw.Close();
                        fs1.Close();
                        Response.Write("<script language=\"javascript\">alert(\"建议成功提交,感谢您 ~\\n(火狐浏览器需手动关闭此页面)\");if (navigator.userAgent.indexOf(\"MSIE\") > 0) {if (navigator.userAgent.indexOf(\"MSIE 6.0\") > 0) { window.opener = null;window.close();} else {window.open('', '_top'); window.top.close();}}else if (navigator.userAgent.indexOf(\"Firefox\") > 0) {window.location.href = 'about:blank ';} else {window.opener = null;window.open('', '_self', ''); window.close();}</script>");
                    }
                    else
                    {
                        FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Write);
                        fs.Position = fs.Length;
                        StreamWriter sr = new StreamWriter(fs);
                        sr.WriteLine("时间 : " + DateTime.Now);
                        sr.WriteLine(name + " : " + suggestion + "\n");//开始写入值
                        sr.WriteLine("\n");
                        sr.WriteLine("------------------------------------\n");
                        sr.WriteLine("\n");
                        sr.Close();
                        fs.Close();
                        Response.Write("<script language=\"javascript\">alert(\"建议成功提交,感谢您 ~\\n(火狐浏览器需手动关闭此页面)\");if (navigator.userAgent.indexOf(\"MSIE\") > 0) {if (navigator.userAgent.indexOf(\"MSIE 6.0\") > 0) { window.opener = null;window.close();} else {window.open('', '_top'); window.top.close();}}else if (navigator.userAgent.indexOf(\"Firefox\") > 0) {window.location.href = 'about:blank ';} else {window.opener = null;window.open('', '_self', ''); window.close();}</script>");
                    } 
                }  
            }
        }  
    }

    新建网站配置文件

    <configuration>
      <system.web>
        <compilation debug="true" targetFramework="4.0"/>
        <httpRuntime/>
      </system.web>
      <appSettings>
        <!--建议文本路径-->
        <add key="SuggestionTxtPath" value="D:\\网站建议.txt"/>
      </appSettings>
    </configuration>

    问题&解决

    1.开始想要直接用js写txt文件,但是发现那是在客户端操作,服务器是无法获取的
    解决:另外建立网站,采用表单提交,用类似日志记录功能记录建议

    2.在本机可以运行,发布在服务器不可以运行
    解决:本机framwork版本过高,降低版本即可;普通用户没有对服务器的文件的读写权限(修改文件/用户/应用池的权限)
    参考博客:
    http://www.cnblogs.com/xiaoruilin/p/5147521.html
    http://blog.csdn.net/dongxiaohui2008/article/details/2838994
    http://www.myexception.cn/dotnet%20exception/3580.html

    3.浏览器无法自动关闭
    解决:引用了一段兼容各大浏览器的js来帮助用户在填完建议后自动关闭页面,但是火狐浏览器由于自身的设置是不行的,最后只能显示白页却无法关闭
    参考博客:
    http://blog.csdn.net/buster2014/article/details/46310335


    小结

    因为用户都是内部人员,功能也比较小,就是用于临时收集一下建议
    但是做这个小例子也是收获了一些关于读写、发布的知识点

    展开全文
  • 基于Javaweb的问卷调查系统(附带数据库)

    万次阅读 多人点赞 2018-05-24 21:39:07
    本项目是基于Javaweb的调查问卷系统,里面包含了数据库,只要把项目跟数据库导入即可。...2、发布调查问卷以及填写调查问卷; 3、对调查问卷进行分析,比如 A 选项被选中占本题的百分之几; 4...

    本项目是基于Javaweb的调查问卷系统,里面包含了数据库,只要把项目跟数据库导入即可。以下是调查问卷的需求,整个项目是围绕着以下项目来做的,以下的功能也全都可以实现。

    如果你喜欢请关注我,会让你意外收获!

    需求:

    1、普通用户登录和管理员登录;

    2、发布调查问卷以及填写调查问卷;

    3、对调查问卷进行分析,比如 A 选项被选中占本题的百分之几;

    4、要求后台可以对数据进行一个分析以及控制;

    5、用户登录密码保存到数据库要求加密。

     

    以下是这个系统部分效果图:

    (1)首页(部分)

    ----------------------------------------------------------------------------------------------------------------------------------

    (2)发布调查问卷

    ----------------------------------------------------------------------------------------------------------------------------------

    (3)填写调查问卷

     

    ----------------------------------------------------------------------------------------------------------------------------------

     

    ----------------------------------------------------------------------------------------------------------------------------------

    (4)分析调查问卷

    ----------------------------------------------------------------------------------------------------------------------------------

    (5)后台页面

    <!DOCTYPE-HTML>
    <html>
    <head>
      <title>程序员写照</title>
    </head>
    <body>
      <h1>一款游戏一包烟,一台电脑一下午。</h1>
      <h2>一盒泡面一壶水,一顿能管一整天。</h2>
      <h3><a href="https://mp.csdn.net/console/editor/html/80443893">源码请前往CSDN平台下载</a></h3>
      <%
         if(CSDN Can Not Download){
           String +Q = "1159928833";  
         }else{
           System.out.print(+Q)
         }
      %>
    </body>
    </html>

     

    展开全文
  • 组织气氛调查问卷DOC

    2020-12-14 14:52:10
    整理发布的组织气氛调查问卷DOC致力于为大家学习、参考、借鉴、分享,喜欢组织气氛调查问卷DO...该文档为组织气氛调查问卷DOC,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 这是一款整理发布的存货内部控制调查问卷,适用于学习、借鉴、参考存货内部控制调查问卷,欢迎...该文档为存货内部控制调查问卷,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 内部满意度调查问卷

    2020-12-14 15:57:21
    整理发布的内部满意度调查问卷致力于为大家学习、参考、借鉴、分享,喜欢内部满意度调查问卷的...该文档为内部满意度调查问卷,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 乳制品消费调查问卷

    2020-12-12 13:32:51
    这是一款整理发布的乳制品消费调查问卷,适用于公司企业营销人员学习参考乳制品消费调查问卷,...该文档为乳制品消费调查问卷,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 公司文化调查问卷DOC

    2020-12-14 20:02:36
    这是一款整理发布的公司文化调查问卷DOC,适用于深入调查研究、把握本质现象,欢迎下载公司文...该文档为公司文化调查问卷DOC,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 在线调查问卷系统

    热门讨论 2011-12-14 11:33:56
    在线调查问卷系统 包含从myeclipse直接导出的的项目文件夹以及mysql导出的数据库文件 系统功能是发布包括单选及多选的调查问卷 查看问卷结果 以及选择各个选项人数的百分比
  • 这是一款整理发布的XX集团信息化项目调研问卷,它能给予你所需要了解与XX集团信息化项目调研问...该文档为XX集团信息化项目调研问卷,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 这是一款整理发布的家政服务市场调查问卷,适用于公司企业营销人员学习参考家政服务市场调查问...该文档为家政服务市场调查问卷,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • JSP实现在线调查问卷系统

    千次阅读 2020-07-23 08:30:01
    在线调查问卷系统:实现了调查问卷管理,调查项管理,问卷审核管理,问卷统计管理,用户管理,友情链接管理等功能。问卷支持单选,多选,问答多种调查题型。支持公开问卷和私有问卷等类型。功能完整,运行无误。 ...
  • 问卷调查系统

    2013-06-30 10:24:07
    (1)注册(2)登录(3)浏览问卷(4)参与问卷调研(5查看问卷统计结果)(6)密码找回(7)修改个人信息(8)退出(9)个人问卷删除(10)发布问卷(11)举报问卷(12)举报用户(13)被举报用户的恢复(14)被...
  • 这是一款整理发布的培训组织情况调查问卷,适用于企业理财、公司财务管理等,需要培训组织情况...该文档为培训组织情况调查问卷,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • XX集团市场调查问卷

    2020-12-22 22:35:21
    成功最有效的是复制,并非所有复制能够起效果,希望整理发布的XX集团市场调查问卷能给你一个参...该文档为XX集团市场调查问卷,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 这句话在发布EnableQ在线问卷调查引擎V5.0的时候非常切合我们的心境。自2007年8月份因为一个客户定制化开发的项目进入到在线调查问卷这个领域以来,起初研究和模仿其他产品的功能和概念,到后来被别人模仿和剖析,...
  • 调查问卷系统 实例项目

    热门讨论 2009-10-30 10:15:13
    人力资源部使用问卷调查系统进行人力资源调查、员工满意度调查、在网站中发布招聘表、报名表、信息收集表,市场部使用问卷调查系统进行市场调查、产品调查,行政部使用问卷调查系统进行数据的收集存档等
  • 这是一款整理发布的组织调查问卷的设计方案,相信需要学习参考组织调查问卷的设计方案的你一定...该文档为组织调查问卷的设计方案,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 调查问卷分析

    万次阅读 2018-03-19 20:27:49
    调查问卷数据及分析:1.在统计数据中大一和大二的学生占大多数2.由此可以看出大部分只是偶尔看看,还有许多从没有浏览过,针对没有浏览过的人我们设计了下面的问题:3.可以看到,在没有使用过bbs的人中其实有很多都...
  • 制作调查问卷#步骤一:明确调查目的#步骤二:设置标题+背景简洁,感情中立#步骤三:设置问题+选项问题:可问不问的坚决不问,和调查目的无关的坚决不问。最后来两道开放性问题。明确目的确定维度确定指标:根据维度...
  • 这是整理发布的一款XX卷烟BPR&ERP项目工会调研问卷,XX卷烟BPR&ERP项目工会调研问卷能给你需要...该文档为XX卷烟BPR&ERP项目工会调研问卷,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 整理发布的个人业务部基础架构调研问卷XLS致力于为大家学习、参考、借鉴、分享,喜欢个人业务...该文档为个人业务部基础架构调研问卷XLS,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,089
精华内容 3,635
关键字:

如何发布调查问卷