使用用户输入的数字数据,我试图将该数据发送到使用 jQuery 的 FLOT 的函数,然后该函数绘制这些点。当我单击提交时,警报函数返回“NaN”,但继续绘制其他数据。我会做错什么?我需要将输入内容放入表格吗?
<input type="number" id="txt_name">
<input type="submit" value="Submit" onclick=" return hello();">
<script type="text/javascript">
var d1 = [];
function hello(){
$(function() {
var x=document.getElementById('txt_name');
var y=parseInt(x);
alert(y);
d1.push([x,x]);
d1.push([x+5,x+5]);
var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];
// A null signifies separate line segments
var d3 = [[0, 12], [7, 12], null, [7, 2.5], [12, 2.5]];
$.plot("#placeholder", [ d1, d2, d3 ]);
// Add the Flot version string to the footer
});
}
</script>
最佳答案
你在这一行的代码有问题:
var x=document.getElementById('txt_name');
这里的问题是 document.getElementById('txt_name') 返回一个 Element
对象而不是用户输入的值。要获取一个值,您需要像这样调用 value
属性:
var x=document.getElementById('txt_name').value;
修正了你的代码:
<input type="number" id="txt_name">
<input type="submit" value="Submit" onclick=" return hello();">
<script type="text/javascript">
var d1 = [];
function hello(){
$(function() {
var x=document.getElementById('txt_name').value;
var y=parseInt(x);
alert(y);
d1.push([x,x]);
d1.push([x+5,x+5]);
var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];
// A null signifies separate line segments
var d3 = [[0, 12], [7, 12], null, [7, 2.5], [12, 2.5]];
$.plot("#placeholder", [ d1, d2, d3 ]);
// Add the Flot version string to the footer
});
}
</script>
关于javascript - 在 Javascript 中提交数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21243848/