我正在尝试使用用户在提交时输入到文本区域的任何内容来更新下面的var zz
。我们的想法是使用用户在表单中提交的单词创建基本词云。
<!DOCTYPE html>
<meta charset="utf-8">
<script src="../lib/d3/d3.js"></script>
<script src="../d3.layout.cloud.js"></script>
<body>
<script>
var fill = d3.scale.category20();
var zz= ["Hello", "world", "normally", "you", "want", "more", "words", "than", "this"];
d3.layout.cloud().size([300, 300])
.words((zz).map(function(d) {
return {text: d, size: 10 + Math.random() * 90};
}))
.rotate(function() { return ~~(Math.random() * 2) * 90; })
.font("Impact")
.fontSize(function(d) { return d.size; })
.on("end", draw)
.start();
........
</script>
<div style="text-align: center">
<div id="presets"></div>
<div id="custom-area">
<p><label for="text">Enter some text.</label>
<p><textarea id="text"></textarea>
<button id="zz" type="submit">Go!</button>
</div>
</div>
答案 0 :(得分:0)
当表单提交或单击按钮时,请使用字段的值和split的空格:
根据您的示例网页,您遇到了一些问题:
x
未定义,我在控制台中收到错误demo
的元素
Here's a fiddle that shows a simple demo
function myFunction(){
var zz = document.getElementById("text").value.split(" ");
document.getElementById("demo").innerHTML = zz;
}