下面的代码是一个简单的表单,它接受来自用户的数字并显示在表单中输入的半径的圆。一切工作都很好,只是当我点击提交按钮时,圆圈就消失了。如何解决这个问题?我点击提交按钮后,我希望该圈子在那里很久。使用SVG在html页面中显示动态圆圈
<title>Dynamic Vector Circle</title>
<script type="text/javascript">
var svgNS = "http://www.w3.org/2000/svg";
function createCircle()
{
var myCircle = document.createElementNS(svgNS,"circle"); //to create a circle, for rectangle use rectangle
var radius= document.getElementById("rad").value;
myCircle.setAttributeNS(null,"id","mycircle");
myCircle.setAttributeNS(null,"cx",100);
myCircle.setAttributeNS(null,"cy",100);
myCircle.setAttributeNS(null,"r",radius);
myCircle.setAttributeNS(null,"fill","black");
myCircle.setAttributeNS(null,"stroke","none");
document.getElementById("mySVG").appendChild(myCircle).innerHTML;
}
</script>
<form>
<input type="text" id="rad" placeholder="Enter radius">
<button onClick="createCircle();">Submit</button>
<svg id="mySVG" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
</svg>
</form>
我没有看到JSFiddle的这种行为:http://jsfiddle.net/252yLdqx/ – Cymen
@Cymen,你的代码不在'form'里面,就像在OP – Grundy
@Grundy好点! – Cymen