使用Javascript提交数据

时间:2014-01-20 20:47:16

标签: javascript jquery form-submit flot

使用用户输入的数字数据,我试图将该数据发送到使用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>

2 个答案:

答案 0 :(得分:4)

您的代码存在问题:

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>

了解更多herehere

答案 1 :(得分:3)

您必须从输入中获取值

var x=document.getElementById('txt_name').value;
var y=parseInt(x, 10);