我对HTML和Javascript代码还比较陌生,因此这可能只是一个小小的愚蠢错误。
基本上,我正在尝试使用chartjs创建折线图,对于这些折线之一,我希望用户能够输入自己的数据,因此我一直在测试一些方法,但无法弄清楚为什么它们将无法正常工作。
我希望使用document.getElementById来获取第一个数字输入的值,然后将其用作折线图的数据值,例如:
data: [addData(), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
这就是调用将输入值添加为数据的函数的方式,然后函数本身是:
function addData() {
var input = document.getElementById("testId").value;
}
我也尝试过使用return输入;但是当我使用其中任何一个时,整个图表都消失了,但是,如果我将下面的函数用于addData(),则该图表仍然可以正常工作并接受2作为第一个数据值:
function addData() {
var input = 2;
return input;
}
这是数字输入代码:
Birth: <input type="number" maxlength="4" id="testId" value="2"><br>
有什么想法为什么当我尝试使用数字输入字段作为数据值时整个图表消失了?
编辑:我现在已经解决了这个问题,这要感谢Shai Aharoni指出任何可能的错误,我只需要将输入字段的顺序重新排列为脚本之前,只是一个愚蠢的错误。
最佳答案
当我没有完整的示例时,很难评估我的解决方案。所以我不确定,但是希望以下内容对您有所帮助:可能是您的代码中有一个简单的类型错误
var input = document.getElementById("testId").value;
将字符串值分配给输入变量。但是,我认为您需要一个整数作为图表的输入。
解决方案可能是:
var input = parseInt(document.getElementById("testId").value)
尽管您已将输入字段定义为“数字”,但是javascript并未使用此类型来自动转换值。因此,您必须自己转换值。
关于javascript - 使用数字/文本输入字段设置ChartJs中的数据值可阻止显示图表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43113286/