getJSON和输入表单不更新图表

时间:2011-06-03 23:31:36

标签: php jquery json getjson dygraphs

这一整天都在震撼我的大脑。我使用getJSON()来检索由PHP文件生成的JSON数据,然后使用DyGraphs绘制它。我知道PHP文件正常工作,因为我使用它来生成初始图形而不发送数据。我也可以转到请求的url,看看数据是否正确。在调试时,我甚至可以看到正在进行GET请求,并且在一瞬间,正确的数据确实显示在图表上。在这一瞬间,虽然图表只是重置。当jQuery.event.add.elemData.handle.eventHandle从调用堆栈弹出时,这一切都会发生。

<form id="myform">
<fieldset>
<legend>Enter Information</legend>

<label for="day">Day:</label>
<input id="day" size="2" type="text">

<label for="month">Month:</label>
<input id="month" size="2" type="text">

<label for="year">Year:</label>
<input id="year" size="4" type="text">

<input type="submit">
</fieldset>
</form>

这是Javascript:

<script type="text/javascript">

$(function() { 
    $("#myform").submit(function() {
        var day     = $("input#day").val();
        var month     = $("input#month").val();
        var year     = $("input#year").val();

        $.getJSON('Data.php', 
        { day: day, month: month, year: year }, 
        function(data) {
            for (i=0;i<data.length;i++) {   
                    data[i][0] = new Date(data[i][0].replace(/-/g,"/"));
                    data[i][1] = parseFloat(data[i][1]);
            }

            g2.updateOptions({ file: data });
        }
        );
    });
});

</script>

1 个答案:

答案 0 :(得分:1)

立即行动。忘了return: false,傻傻的我!