2016-04-10 6 views
0

Ich habe ein HTML-Formular, das einen Eingang hat. Diese Eingabe wäre eine URL, von der die D3.json-Methode ihre Daten zum Erstellen einer Illustration verwenden würde.Pass Formulardaten als URL zu d3.json Methode

Ich frage mich, wie kann ich diesen Eingang weitergeben? Ich nehme an, dass die Aktion von form helfen kann, aber ich weiß nicht, wie ich Variablen übergeben kann.

Antwort

2

Sie können nur die value Eigenschaft des Eingangs lesen und weitergeben, das zu d3.json ...

var myUrl = d3.select('#myTextBox').property('value'); 
d3.json(myUrl, function(error, json) { 
    // do awesome stuff... 
}); 

EDITS

d3.select('#myButton').on('click', function(){ 
 
    var myUrl = d3.select('#myInput').property('value'); 
 
    d3.json(myUrl, function(error, json) { 
 
     if (error) throw(error); 
 
    }); 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script> 
 
<input type="text" id="myInput" /> 
 
<button id="myButton">My Awesome Action!</button>

+0

ok, aber wie kann ich Machen Sie es zu einer Aktion, die bei submit durchgeführt werden soll? – kaboom

+0

@kaboom, was ist dein Ziel hier? Ein "submit" ist für das Zurücksenden von Formulardaten an den Server und um ehrlich zu sein, in dieser JavaScript-schweren Welt scheint es, dass sie nicht mehr viel benutzt werden. Wenn Sie nur ein Textfeld haben und dann eine Schaltfläche ausführen möchten, tun Sie das einfach, vergessen Sie das Formular. Siehe oben ... – Mark

+0

Endziel ist es, ein Diagramm aus dem, was json von der URL zurückgegeben wird, in das Eingabefeld zu zeichnen. – kaboom

Verwandte Themen