当前位置: 首页 > 知识库问答 >
问题:

使用JavaScript更改HTML元素[重复]

利思源
2023-03-14

我正在学习JavaScript,我正在尝试创建一个“圆计算器”,它将通过一个表单接收用户输入,并返回圆的面积和周长。除了在ID为“circledata”的段落中显示结果外,它都正常工作。它会在提交表单后显示几秒钟,然后消失。

我希望循环方法的结果(变量“text”)保留在段落中,直到用户再次提交表单(当它应该用新数据填充时)。

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>JavaScript Test</title>
  </head>
  <body>
    <h1>A Circle Calculator</h1>
    <form name="Circle" onsubmit="printCircle()" method="post">
      Enter the radius:<br>
      <input type="text" name="Radius"><br><br>
      Enter the units:<br>
      <input type="text" name="Units"><br><br>
      <input type="submit" value="Submit"><br>
    </form>
    <p id="circleData"></p>

    <script type="text/javascript">
    var Circle = function(radius){
        this.radius = radius;
    }
    Circle.prototype = {
      get _radius(){
        return this.radius;
      },
      get _area(){
        return Math.PI * (this.radius * this.radius);
      },
      get _perim(){
        return this.radius * (Math.PI * 2);
      },
      set _radius(radius){
        this.radius = radius;
      }
    }
    var aCircle = new Circle();
    var printCircle = function(){
      aCircle._radius = document.forms["Circle"]["Radius"].value;
      var units = document.forms["Circle"]["Units"].value;
      var text = "A circle with the radius of " + aCircle._radius + units + " has a circumference of " + aCircle._perim.toFixed(2) + units + " and an area of " + aCircle._area.toFixed(2) + units;
      document.getElementById("circleData").innerHTML= text;
    }
    </script>

  </body>
</html>

共有1个答案

慕烨烁
2023-03-14
onsubmit="printCircle();return false;"
 类似资料:
  • 问题内容: 如何使用JavaScript 响应事件来更改HTML元素的类? 问题答案: 更改类的现代HTML5技术 现代浏览器添加了 classList , 该类 提供了一些方法,可以在不需要库的情况下更轻松地操作类: 不幸的是,尽管有一些垫片可以将其支持添加到IE8和IE9中,但这些功能在v10之前的Internet Explorer中无法使用。但是,它越来越受到支持。 简单的跨浏览器解决方案

  • 问题内容: 如何使用JavaScript 响应事件来更改HTML元素的类? 问题答案: 更改类的现代HTML5技术 现代浏览器添加了classList ,该类提供了一些方法,可以在不需要库的情况下更轻松地操作类: 不幸的是,尽管有一些垫片可以将其支持添加到IE8和IE9中,但这些功能在v10之前的InternetExplorer中无法使用,可从此页面获得。但是,它越来越受到支持。 简单的跨浏览器解

  • 问题内容: 使用以下语法时,不必为每种类型的属性和事件繁琐地搜索解决方法: 有没有一种方法可以将整个HTML元素声明为字符串?喜欢: 问题答案: 创建片段然后插入该片段可能会更好,而不是直接弄乱它: 好处: 您可以使用本机DOM方法进行插入,例如insertBefore,appendChild等。 您可以在插入实际的DOM节点之前对其进行访问;您可以访问片段的childNodes对象。 使用文档片

  • 我是自动化的新手。我正在尝试自动化一个网页,有一个文本字段,我必须在其中输入一些文本,我尝试了driver.findElement(by.xpath(“ElemNT的XPath”).sendkeys(“value”);但这不起作用,所以我尝试通过Javascript driver.executeJavaScript(“arguments[0].value='100';”,“element path

  • 我正试图从网站上获取预订数据。进入现场后,我必须: 将默认日期范围(起初,网站显示默认日期范围的预订数据)更改为我想要搜索的日期范围 点击刷新按钮 等待网站更新页面上显示的结果。 使用Selenium、Python和BeautifulSoup,当我执行Selenium命令更新日期范围的字段并单击“刷新”按钮时,当代码到达我使用BeautifulSoup提取HTML数据的行时,将提取默认网站日期范围

  • 问题内容: 我有一个div的特定样式表。现在我想使用js动态修改div的一个属性。 我该怎么做? 它是否正确? 问题答案: 几乎是正确的。 由于是JavaScript操作符,因此您实际上不能在属性名称中使用它。如果您正在设置,或者类似的单字,您的代码就可以正常工作。 但是,对于任何带连字符的属性名称,您都需要记住的是,在javascript中,您删除了连字符,并使下一个字母变为大写,因此应为。 还