getJSON и форма ввода не обновляют график - PullRequest
0 голосов
/ 04 июня 2011

Это действительно мучило мой мозг весь день. Я использую getJSON () для получения данных JSON, сгенерированных файлом PHP, а затем отображаю их с помощью 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 Ответ

1 голос
/ 05 июня 2011

Работает сейчас. Забыл return: false, глупый я!

...