我用 oTree 开发了一个在线实验,它是一个开发实验的框架。
我已经实现了以下代码来测量表单字段中的输入值:
$('document').ready(function () {
$('#id_decl_ic_2').on('input', function () {
input_value = $('#id_decl_ic_2').val();
clearTimeout(timeout)
timeout = setTimeout(function () {
if ($('#id_decl_ic_2').val() == input_value) {
form_id = "formfield_ic_2";
counter_2++;
ip_time = Date.now();
input = {
form_id: form_id,
input_counter: counter_2,
input_time: ip_time,
input_value: input_value,
}
}
console.log(input);
}, 1000)
})
})
该代码在本地服务器(oTree 的开发服务器)上完美运行,我假设也在每个普通网页上。
我在云服务器 Heroku 上托管了我的实验。该函数会导致内部服务器错误。以下 JS 函数也是如此:
window.onload = function() {
//do smomething
};
问题似乎出在各自的查询选择器和 JS 处理程序上。
有没有人遇到过同样的问题?有没有人有解决这个问题的方法?我可以尝试其他事件处理程序吗?