如何“document.write();”在同一页上?

时间:2013-03-06 22:38:12

标签: document

基本上,我已经制作了一个允许您输入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);
}

2 个答案:

答案 0 :(得分:1)

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

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

为了做你想做的事,你应该在文档的某个地方有<span id="foo"></span>,然后这样做:

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

这会在您的span元素中插入 。实际上,它取代了(以前为空)span元素的内容。

编辑:当然,它可以是任何一种元素。我只使用了一个span元素作为例子。

答案 1 :(得分:1)

您可以在表单中填写<p id="answer"></p>。然后创建var answer=intNum1 + intNum2,之后改为document.writeln(intNum1 + intNum2)document.getElementById("answer").innerHTML=answer