javascript
  • jquery
  • flot
  • 2011-06-22 14 views 1 likes 
    1

    のためにリダイレクトし、その後、グラフを描画します。フォームに開始日と終了日を入力し、グラフ化するデータを取得します。グラフは正しく表示されますが、URLは同じページにリダイレクトされますが、 "?0 = on & 1 = on & 2 = on & 3 = on & 4 = on & 5 = on" doesn存在しない。ここに私のコードは次のとおりです。FLOTは、私はいくつかのデータをグラフ化してFLOTを使用している理由もなく

    <form onsubmit='formValidator()' > 
         Start Date: <input type='text' id='date1' /><br /> 
         End Date: <input type='text' id='date2' /><br /> 
        <input type='submit' value='Go' /> 
    
        <div align="center"><div id="placeholder" style="width:80%; height: 700px"></div></div> 
    
        <p id="choices" style="color:#FFFFFF">Show:</p> 
    
        <script type="text/javascript" id="source"> 
    
    
    function formValidator(){ 
        // Make quick references to our fields 
        var d1 = document.getElementById('date1'); 
        var d2 = document.getElementById('date2'); 
        var msg = "Please enter the date in the format yyyymmdd. e.g. 20110609 for June 9, 2011"; 
        // Check each input in the order that it appears in the form! 
        if(notEmpty(d1, msg)&& notEmpty(d2, msg) && isNumeric(d1, msg)&& isNumeric(d2, msg)&& lengthRestriction(d1, msg)&& lengthRestriction(d2, msg)){ 
         $(function() { 
           var date1 = d1.value; 
           var date2 = d2.value; 
    
    /* foo1-6 are arrays that get their assigned values here */ 
    
           var datasets = [ 
            {label: "Foo1", data: foo1  }, 
           {label: "Foo2", data: foo2  }, 
           {label: "Foo3", data: foo3  }, 
           {label: "Foo4", data: foo4  }, 
           {label: "Foo5", data: foo5  }, 
           {label: "Foo6", data: foo6  } 
           ]; 
    
           // hard-code color indices to prevent them from shifting as 
           // options are turned on/off 
           var i = 0; 
           $.each(datasets, function(key, val) { 
            val.color = i; 
            ++i; 
           }); 
    
    
           // insert checkboxes 
           var choiceContainer = $("#choices"); 
           $.each(datasets, function(key, val) { 
            choiceContainer.append('<br/><input type="checkbox" name="' + key + 
                  '" checked="checked" id="id' + key + '">' + 
                  '<label for="id' + key + '">' 
                  + val.label + '</label>'); 
           }); 
           choiceContainer.find("input").click(plotAccordingToChoices); 
    
    
    
           function plotAccordingToChoices() { 
            var data = datasets; 
    
            choiceContainer.find("input:checked").each(function() { 
             var key = $(this).attr("name"); 
             if (key && datasets[key]) 
              data.push(datasets[key]); 
            }); 
    
            if (data.length > 0) { 
             var options = { 
              legend: { 
               backgroundColor: "#000000", 
               backgroundOpacity: 0.9, 
               labelFormatter: function(label,series) { 
                return "<div style=color:#FFFFFF>" + label + "</div>"; 
               } 
              }, 
              yaxis: { min: 0 }, 
             } 
            }; 
            $.plot($("#placeholder"), data, options); 
           } 
    
           plotAccordingToChoices(); 
    
          }); 
        } 
    } 
    

    答えて

    2

    は、その行動を引き起こしているページ上のいくつかの他のJavaScriptがあると結論しなければならない:あなただけjqueryの、FLOTおよびデータソースにページを縮小して確保しています再ロードの原因となる他のユーザー提供のJavaScriptがないことを確認しますか?そこ自動リロードが発生しFLOTライブラリには何もありませんので、私はそれはあなたのアプリケーションが展開されて、フレームワークのいくつかの人工物である推測している。

    +0

    我々は問題を修正日付選択のためのjQuery UI日付ピッカーを使用していました。リフレッシュの問題が起こった理由はまだ分かりませんが、うまくいきました。 –

    +0

    だから(あなたが前に使っていたものとそうであれば)、それに固定jqueryのUIの日付ピッカーに切り替えますか? – Femi

    +0

    通常のフォーム(上記のコードと同じ)。 –

    関連する問題