【问题标题】:How to "document.write();" on the same page?如何“document.write();”在同一页上?
【发布时间】:2013-03-06 22:38:12
【问题描述】:

基本上,我已经制作了一个允许您输入 2 个数字的表格,当您按下“添加”按钮时,程序会将答案写到屏幕上,唯一的事情是当写完答案时,它会出现在一个单独的页面。如何让它写入同一页面,下面是 HTML 代码:

<form type="twoNum" method="get">
<input type="float" placeholder="Enter first number here..." name="num1" id="n1"/>
&nbsp;
<input type="float" placeholder="Enter second number here..." name="num2" id="n2"/>
<input type="button" value="Add" name="sndfunct" onClick="twoNum(this.form);"/>
</form>

以下是 Javascript 代码:

function twoNum(form)
{
var num1 = form.num1.value;
var num2 = form.num2.value;
var intNum1 = parseFloat(num1);
var intNum2 = parseFloat(num2);
document.writeln(intNum1 + intNum2);
}

【问题讨论】:

  • 查找 DOM API;尽管document.write 适合简单的内联内容,但您需要了解这一点才能对文档做很多有用的事情。 (像这样。)它看起来也比on* 属性更好。

标签: document


【解决方案1】:

请注意,使用document.write() 被认为是不好的做法。例如。请参阅 W3C 网站上的the warning

此外,您不能使用它来编辑已关闭的文档。 document.write() 只能在文档加载时使用。

为了做你想做的事,你应该在文档的某处有一个&lt;span id="foo"&gt;&lt;/span&gt;,然后做:

document.getElementById("foo").textContent = intNum1 + intNum2;

这会将你的号码插入你的 span 元素。实际上,它替换了(以前为空的)span 元素的内容。

编辑:当然,它可以是任何类型的元素。我只是在示例中使用了 span 元素。

【讨论】:

    【解决方案2】:

    您可以在表格中写&lt;p id="answer"&gt;&lt;/p&gt;。然后创建var answer=intNum1 + intNum2,然后改为document.writeln(intNum1 + intNum2)document.getElementById("answer").innerHTML=answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多