在Otree上使用javascript保存数据

在Otree上使用javascript保存数据,javascript,html,otree,Javascript,Html,Otree,我正试图保存Otree数据库中单击的时间戳。我试着使用不同的代码 第一个是这个 function myFunction() { var n = Date.now(); document.getElementById("demo").innerHTML = n; } document.getElementById('n').value; 我将下一个代码放在html中: <p style="text-align: center;"><button class="btn

我正试图保存Otree数据库中单击的时间戳。我试着使用不同的代码

第一个是这个

function myFunction() {
    var n = Date.now();
document.getElementById("demo").innerHTML = n;
}

document.getElementById('n').value;
我将下一个代码放在html中:

 <p style="text-align: center;"><button class="btn btn-primary btn-large" onclick="myFunction()"  name="offer_accepted" value="True">&nbsp;A</button> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <button class="btn btn-primary btn-large"  onclick="myFunction()" name="offer_accepted" value="False">B</button></p>
并将下一个代码放入我的html:

  <input type="hidden" name="currentTime" id="id_currentTime"/>

在这两种情况下,我的数据库中都没有任何内容


有人能帮我一下吗?

您的第一个代码不起作用有两个原因:

  • 您使用的ID不存在:“demo”
  • 如果将.innerHTML替换为.value,则代码将正常工作。见讨论
关于第二次尝试,此命令将起作用:

window.onload = function() {
    record_current_time();
}
使用页面顶部的脚本的另一种可能性是:

$(document).ready(function(){
        function record_current_time(){
           var current_time = new Date();
           current_time = current_time.getTime();
           document.getElementById('id_currentTime').value = current_time;
        }

        record_current_time();
});

但是,您也可以将脚本放在页面底部。然后,当您执行脚本时,将加载所有元素。

您的第一个代码无法工作,原因有两个:

  • 您使用的ID不存在:“demo”
  • 如果将.innerHTML替换为.value,则代码将正常工作。见讨论
关于第二次尝试,此命令将起作用:

window.onload = function() {
    record_current_time();
}
使用页面顶部的脚本的另一种可能性是:

$(document).ready(function(){
        function record_current_time(){
           var current_time = new Date();
           current_time = current_time.getTime();
           document.getElementById('id_currentTime').value = current_time;
        }

        record_current_time();
});

但是,您也可以将脚本放在页面底部。然后,当您执行脚本时,将加载所有元素。

您是否在模型中定义了相应的字段?您是否尝试过通过页面模板生成隐藏输入(即
{%formfield player.currentTime%}
)而不是硬编码?表单是如何提交的?您是否在模型中定义了相应的字段?您是否尝试过通过页面模板生成隐藏输入(即
{%formfield player.currentTime%}
)而不是硬编码?表格是如何提交的?