问题标签 [limesurvey]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
497 浏览

php - 为什么 Internet Explorer 在某些情况下会多次加载一张图像?

我有一个带有按钮的简单表单。按下按钮在 PHP 页面上调用 GET。在页面上只有一个 IMG 标签,其中 SRC 是一个 PHP 脚本,它动态返回一个 PNG 图像(imagepng()函数)。

为什么 Internet Explorer 9 多次加载此图像?

验证是否发生这种情况可能有点棘手。我发现这一点是因为我正在使用 PHPEd 调试一个 PHP 脚本(生成 PNG 的那个),并意识到流程在文件中输入了两次,在我的断点处停止了两次!

当我查看 IE 的网络日志并看到确实有不止一个脚本调用时,我证实了这一点。要查看网络日志,请在 IE 窗口中按 F12 并单击“网络”选项卡。

根据日志,有一个调用没有完全完成(不返回 HTTP 200 状态),但这足以搞砸一切。

有关如何解决此问题的任何建议?

我已经做了一些示例脚本来演示这个问题:

文件“teste.php”

文件“验证.php”

如您所见,您将需要一种 ttf 字体。将字体文件放在同一个文件夹中,并在上面的脚本中更改 $font 变量。您可以使用任何 True Type 字体,看看:

$font = "arial.ttf";

唯一的要求是 ttf 文件必须在脚本的同一文件夹中,以使一切变得更简单。

要测试正确的行为:

  1. 在 Internet Explorer 上打开文件“teste.php”;
  2. 按几次浏览器上的刷新按钮;
  3. 查看动态创建的名为“teste.txt”的文件。

结果:文件中只有一行。内容显示验证码图像上显示的正确总和值。这是正确的行为,因为在显示验证码图像时仅调用了一次 verify.php。

现在,测试问题:

  1. 在 Internet Explorer 上打开文件“teste.php”;
  2. 按“开始!” 表单上的按钮有时。3x就够了;
  3. 查看动态创建的名为“teste.txt”的文件。

结果:文件中有不止一行。可能是 2。其中一个有验证码图像总和的正确答案。这两个创建图像的调用弄乱了验证码系统的正确答案,因此无法在 Internet Explorer 中使用它。

如何为 IE 解决这个问题?在 Firefox 中一切正常!

PS.:我正在尝试使用Lime Survey PHP Script 的验证码系统,但由于上述问题,它不适用于 IE。

0 投票
1 回答
986 浏览

limesurvey - LimeSurvey 后退浏览器按钮问题

我正在使用 LimeSurvey 1.92 build 120509,当我按下后退按钮(在浏览器上)时,上一个调查页面无法加载,而是出现以下浏览器错误:

0 投票
2 回答
1523 浏览

jquery - 使用 jquery 访问 Limesurvey API - 错误 631:无法解析请求

我想将 Limesurvey API 与 jquery 一起使用。当我尝试使用以下代码获取会话密钥时,我收到错误消息 631: failed to parse request, when I enable the xml rpc. 启用 json-rpc 时没有响应。

有人可以发布示例查询吗?

0 投票
1 回答
2007 浏览

javascript - Limesurvey (2.0) 中的复选框数组和输入文本字段

我想创建一个由复选框和短文本输入字段组成的数组问题。插图:

到目前为止,我可以在 Checkbox 变体中创建一个“数组(Multi Flexi)(数字)”,但不能使用所需的文本输入字段。关于示例,用户应该能够输入一种新水果并用自己的口味对其进行描述。

似乎没有办法在 Limesurvey 2.0 中创建新的问题类型。但是我发现了一种基于 JavaScript 的解决方法,可以在一行中安排几个单独的问题。当试图调整这个脚本时,我发现它不支持我需要的数组问题类型(前面提到过)。

有什么想法或不同的方法来解决这个啊,挑战?非常感谢您提供帮助我解决此问题的任何帮助或技巧!

0 投票
1 回答
497 浏览

ruby-on-rails - ActiveRecord 和非法列名

我想通过 ActiveRecord 访问 Limesurvey 数据库。一些表的列名如“79924X192X1240”。当我想访问模型时,出现以下错误:

我想,错误出现了,因为不允许方法以数字开头。但我无法更改列名,因为 Limesurvey 会生成这些列。

仅当列的数据类型(如 79924X192X1240)为日期时间时才会出现此错误。其他数据类型(如 varchar)不会产生任何问题。

我如何也可以访问这些日期时间列?

0 投票
1 回答
1050 浏览

sql - 使用 sql 为 Crystal Reports 准备 LimeSurvey 输出

我正在使用 Lime Survey 并最终希望将 Crystal Reports 用于我的最终输出,并且正在寻求有关干预步骤的帮助。我的每条回复记录有一行,有 100 多个问题,分为几个部分。输出看起来像一个交叉表,每个问题有一列,但我需要先对数据进行反透视,然后才能在 Crystal Reports 中使用它。

根据调查,可能有 4 个部分,也可能多达 15 个。那么,有没有办法根据部分的数量使用 sql 动态执行此操作?

举例说明——在 Excel 中,Lime Survey 的输出如下所示

这就是我最终需要它的样子

谢谢

0 投票
1 回答
346 浏览

php - Limesurvey 资源管理器打开 save browse.php

我的石灰调查服务器正在做奇怪的事情。在我上传了几张图片并删除了一些之后,资源管理器不再打开了。相反,谷歌浏览器会下载一个包含以下内容的 php 文件。任何人都有同样的问题或知道这个问题更适合的另一个堆栈?

更大的问题是我只是平台的管理员用户,没有对安装的物理访问权限。

0 投票
1 回答
186 浏览

php - 一种计算可能为 NULL 的 DateTime 交点的方法

背景

我正在将Limesurvey与应用程序集成,其中新的调查令牌直接添加到 Limesurvey 数据库中。在插入之前,我需要检查 Limesurvey 中给定的一组标记(带有validfromvaliduntil属性)是否与给定的日期范围(DateTime)相交。

问题

既然 Limesurveys 的 tokenvalidfromvaliduntilattributes can be NULL,简单的比较DateTime就做不到了,还是可以吗?

(Limesurveyvalidfrom/validuntil NULL值意味着“总是”)

是)我有的

一个 php 类,用于检查 Limesurvey 属性是否存在NULL,并根据需要返回交集的计算。

代码: http: //phpfiddle.org/main/code/3vp-j3b

(这是foreach循环内的内容,第 34-70 行,这里很有趣)

我问什么

鉴于比较值很特殊,有没有办法改进/优化这种方法?

0 投票
2 回答
566 浏览

php - 从具有动态列名的相同 mysql 表中选择

我必须使用由limesurvey 创建的表格。表结构始终相同,前 9 列 (id|taken|submitdate|...) 也是如此。但是其余 200 列是动态命名的,由 id、questionset id 和 question id 组成(即 445999X180X151702)。可能会插入新表,但(目前)将始终遵循此方案。我必须通过 php 创建某种形式的结果表。我可以按数字引用列,但这对我来说似乎是错误的(问题数量的变化不太可能,但谁知道)。有什么不同的方法吗?如果没有,我至少可以创建某种映射文件,以便当我必须对我的 php 应用程序进行任何更改的表进行任何更改时,我的应用程序将很容易更新?

谢谢!

编辑:不幸的是我无法控制这个表结构。这是limesurvey创建表格的方式,因为这是这里使用的工具,我将不得不处理它。我正在寻找最好的方法来做到这一点:)

0 投票
2 回答
306 浏览

php - Yii::app()->lang 有时不适用于 LimeSurvey

我正在编写一个自定义脚本来自动发送邀请和提醒。我的一切工作正常,直到某一点。我发送邀请的功能如下所示:

我还有一个启动 Yii 的简单小文件:

在我真正尝试向令牌发送电子邮件之前,一切都按预期工作。我已将问题追踪到以下问题,在 emailTokens 调用的函数中包含以下内容:

Yii::app()->lang 部分似乎引起了问题,因为那时 php 无法调用 gT 方法。然而,当 LimeSurvey “正常”运行时,这永远不会发生。我什至无法在 LimeSurvey 源中找到“lang”的位置。

我该怎么做才能让它发挥作用?