2017-03-06 5 views
2

D3で作業しています。入力に基づいています。データベースからD3 ..にデータをフェッチしたいときに入力フィールドに単語を入力して送信しますうまくいきます... D3に問題はありません...しかし、入力フィールドを変更すると、送信ボタンにアクションがありません。私は新しい単語を検索するために更新する必要があります。私はD3の入力に基づいてデータを取得するときにAjaxが機能しない

 <form name="editorForm" id="formi"> 
    <input type="text" name="editor" 
    id="editor" onchange="document.getElementById('formi').submit();"/> 
    <input type="submit"value="butn"> 
    <br /> 
    </form> 

型フィールドに単語やsubmとしてフォーム入力を変更したときに、私は、...ここ

第二
  $(function (all) { 
      $('form').on('submit', function (e) { 
      e.preventDefault(); 
       var t=$('form').serialize(); 
       var u='http://localhost:8888/saff/indexi.php?'+t; 
      $.ajax({ 
      url:u, 
      async:true, 
      success:function(data){ 
      funn(); 
      } 
      }); 
     function funn(){ 
    d3.json(u, function(treeData) { 
      //d3 code 
       }); 
     } 
     }); 
     }); 

をAJAXを使用する方法それだけで*問題が ある

をリフレッシュページせずに、私は入力に基づいD3ためにPHPからデータを取得するために、D3にAJAXを使用する必要がありますどのようにWebページ に表示http://localhost:8888/saff/keyy.html?editor=அகடம்と何も http://localhost:8888/saff/keyy.htmlとして、URLの変更を行います最初の言葉がWEBPAGEで正しいデザインを取得したとき *入力テキストを変更すると、最初のデザインの下に2番目のデザインが表示される なぜajaxが機能しないのですか?アヤックスはここで働いていない理由を私の完全なコード

  <!DOCTYPE html> 
      <html> 
      <head> 
     <meta http-equiv="Content-Type" 
       content="text/html; charset=utf-8" /> 
      <title>Tring Reset</title> 
      <style> 
      .node { 
       cursor: pointer; 
      } 
      .overlay { 
       background-color:white; 
      } 
      .node circle { 
       fill: #fff; 
       stroke: steelblue; 
       stroke-width: 1.5px; 
      } 
      .node text { 
       font: sans-serif; 

       text-align: center; 
      } 
      .link { 
       fill: none; 
      } 
      .parent{ 
      fill :red; 
      font-weight:lighter; 
      } 
      div#tooltip { 
       position: absolute;   
        font: 15px sans-serif;   
       background: orange; 
       border-radius: 8px;  
        padding-left: 5px; 
        padding-right: 5px; 
       pointer-events: none;   
      } 
      </style> 
      <script src="//d3js.org/d3.v3.min.js"></script> 
      <script src="jquery-1.11.1.min.js"></script> 
      </head> 
      <body> 
      <form name="editorForm"> 
        <input type="text"name="editor"/> 
      <input type="submit"value="butn"> 
      </form> 
      <div id="tooltip" style="display:none"></div> 
      <div id="tree-container"class="full"></div> 
      <script> 
      $('form').find(':submit').on('click', function() { 
        var t = $('form').serialize(); 
        var u = 'http://localhost:8888/saff/indexi.php?' + t; 
          $.ajax({ 
           url: u, 
           async: true, 
           success: function(data) { 
            funn(data); 
           } 
          }); 
      function funn(){ 
      var selectedNode = null; 
      var draggingNode = null; 

      var panSpeed = 200; 
      var panBoundary = 0; 

      var i = 0; 
      var duration = 750; 
      var root; 

      var width = $(document).width(); 
      var height = $(document).height(); 

      var diameter = 750; 

      var tree = d3.layout.tree().size([360, diameter/2 - 120]) 

       .separation(function (a, b) { 
       return (a.parent == b.parent ? 1 : 5)/a.depth; 
      }); 
      var diagonal = d3.svg.diagonal.radial() 
      .projection(function (d) { 
       return [d.y, d.x/180 * Math.PI]; 
      }); 
      d3.json(u, function(error, treeData) { 
       if (error) throw error; 
      root = treeData; 
      root.x0 = height/2; 
      root.y0 = 0; 
      root = treeData; 
      root.x0 = height/2; 
      root.y0 = 0; 

      function sortTree() { 
       tree.sort(function (a, b) { 
       return b.name.toLowerCase() < a.name.toLowerCase() ? 1 : -1; 
       }); 
      } 
      sortTree(); 
      var baseSvg = d3.select("#tree-container").append("svg") 
       .attr("width", 1200) 
       .attr("height",1200) 
       .attr("class", "overlay") 

      .attr("transform", "translate(" + 1000 + "," + 1000 + ")"); 
      function collapse(d) { 

       if (d.children) { 
        d._children = d.children; 
        d._children.forEach(collapse); 
        d.children = null; 
       } 

      update(d); 
      } 

      function expand(d) { 

       if (d._children) { 
        d.children = d._children; 
        d.children.forEach(expand); 
        d._children = null; 
       } 
      } 
      function toggleChildren(d) { 

       if (d.children) { 
        d._children = d.children; 
        d.children = null; 
       } else if (d._children) { 
        d.children = d._children; 
        d._children = null; 
       } 
       return d; 
      } 

      function click(d) { 
      if(!d.parent){ 
      return; 
      } 

      if (!d.children) 
       treeData.children.forEach(collapse); 

       if (d3.event.defaultPrevented) return; 

       d = toggleChildren(d); 

       update(d); 
      } 
      function update(source) { 
       var levelWidth = [1]; 
       var childCount = function (level, n) { 
        if (n.children && n.children.length > 0) { 
      if (levelWidth.length <= level + 1) levelWidth.push(0); 

         levelWidth[level + 1] += n.children.length; 
         n.children.forEach(function (d) { 
          childCount(level + 1, d); 
         }); 
        } 
       }; 
       childCount(0, root); 
       var nodes = tree.nodes(root); 
       links = tree.links(nodes); 
       node = svgGroup.selectAll("g.node") 
        .data(nodes, function (d) { 
        return d.id || (d.id = ++i); 
       }); 
        var nodeEnter = node.enter().append("g") 

        .attr("class", "node") 

       .on('click', click) 

        nodeEnter.append("circle") 
        .attr("class", "smallcircle") 
         .style("stroke", function(d) { 
        return d.color; 
       }) 


       nodeEnter.append("text") 

       .text(function (d) { 
        return d.name; 
       }) 

        .style("opacity", 1) 
        .style("fill-opacity", 0) 

      .on("mouseover", function (d) { 
      var r = d3.select(this).node().getBoundingClientRect(); 
         d3.select("div#tooltip") 
          .style("display", "inline") 
          .style("top", (r.top-25) + "px") 
          .style("top", 10 + "px") 
         .style("left", (d3.event.pageX) + "px")  
          .style("top", (d3.event.pageY - 40) + "px") 
          .style("left", r.left + 40+"px") 
          .style("left", + "px") 
          .style("position", "absolute") 
          .text(d.t); 
        }) 
       .on("mouseout", function(){ 
        d3.select("div#tooltip").style("display", "none") 
       }) 


       node.select("circle.nodeCircle") 
        .attr("r", 4.5) 
        .style("fill", function (d) { 
        return d._children ? "red" : "#fff"; 
       }); 
      var nodeUpdate = node.transition() 
        .duration(duration) 
      .attr("transform", function (d) { 
     return "rotate("+(d.x - 90)+") 
      translate("+ d.y +")rotate(" + (-d.x + 90) + ")"; 
       }); 

       nodeUpdate.select("circle") 
        .attr("r", 4.5) 

        .style("fill", function (d) { 
        return d._children ? "lightsteelblue" : "#fff"; 
       }); 

       nodeUpdate.select("text") 

        .style("fill-opacity", 9) 
       .attr("fill",function(d){return (d.children?"red":"black");}) 
     .attr("font-size",function(d){return (d.children?"20px":"12px");}) 
      .attr("dy", ".35em") 

        .attr("text-anchor", function (d) { 
        return d.x < 180 ? "start" : "end"; 
       }) 


        .attr("transform", function (d) { 
      return d.x < 180 ? "translate(8)" : "rotate(360)translate(-8)"; 
       }); 

       var nodeExit = node.exit().transition() 
        .duration(duration) 
        .attr("transform", function (d) { 
        return "translate(" + source.x + "," + source.y + ")"; 
       }) 
        .remove(); 

       nodeExit.select("circle") 
        .attr("r", 0); 

       nodeExit.select("text") 
        .style("fill-opacity", 0); 


       var link = svgGroup.selectAll("path.link") 
        .data(links, function (d) { 
        return d.target.id; 
       }) 
      link.style("stroke", function(d) { 
        return d.color; 
       }) 

       link.enter().insert("path", "g") 
        .attr("class", "link") 
        link.style("stroke", function(d) { 
        return d.target.color; 
       }) 
        .attr("d", function (d) { 
        var o = {x: source.x, y: source.y}; 
        return diagonal({source: o, target: o}); 
        }); 


       link.transition() 
        .duration(duration) 
        .attr("d", diagonal); 


       link.exit().transition() 
        .duration(duration) 
        .attr("d", function (d) { 
         var o = {x: source.x, y: source.y}; 
        return diagonal({source: o, target: o}); 
        }) 

        .remove(); 
      nodes.forEach(function (d) { 
        d.x0 = d.x; 
        d.y0 = d.y; 
       }); 
      } 
      var svgGroup = baseSvg.append("g") 
      .attr("transform", "translate(" + 550 + "," + 300 + ")") 
     d3.selectAll("text").style("fill", function (d) 
     { return d3.select(this).classed(d.cond, true); }) 
      root.children.forEach(function (child) { 
       collapse(child); 
      }); 
      update(root); 
      d3.select(self.frameElement).style("height", width); 
      }); 
      } 
      return false; 
      }); 
      </script> 
      </body> 
      </html> 

が最終的にそこには、パスのエラーがコンソールではありませんが、入力にD3のデザインを変更 UPDATEは?最初の入力デザイン の下に任意のアイデアを示して?

答えて

0
$('form').find(':submit').on('click', function() { 
    var t = $('form').serialize(); 
    var u = 'http://localhost:8888/saff/indexi.php?' + t; 
    $.ajax({ 
     url: u, 
     async: true, 
     success: function(data) { 
      funn(data); 
     } 
    }); 

    function funn(treeData) { 
     d3.json(u, function(error, treeData) { 
      //d3 code 
     }); 
    } 
    return false; 
}); 
+0

あなたのお返事ありがとうございました...しかし、残念ながらまだ問題は解決していません..plzコンソールの画像を参照してください。コンソールに変更があります。しかし、ウェブページ – prog

+0

には実際にあなたのパスのファイルには "i"の 'indexi.php'が含まれていますか? – Rick

+0

はい、私はindexi.phpとしてPHPファイルに名前を付けました.. – prog

関連する問題