所以我为夏令课做这个,我必须让这个地毯计算器在"执行document.write中显示结果,以便在新的html页面上显示结果。&# 34; (直接从作业中引用)。它说使用document.write并且在使用w3上的一些教程之后我掌握了document.write的概念,但是当我尝试将它应用到我的项目时,它对我的网页没有任何影响。
以下是我的代码:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<link rel="stylesheet" href="http://www.w3.org/StyleSheets/Core/Oldstyle" type="text/css" />
<head>
<title>Tutorial Project 10</title>
</head>
<body>
<h1>Carpet Calculator</h1>
<form name = "carpet" action=" ">
</br>Enter the length of your room in feet</br><input name = "length" type = "text" />
</br>Enter the width of your room in feet</br><input name = "width" type = "text" />
</br>Typically an allowance is made for room irregularities and unavoidable waste.
</br>Enter the percent overage as an integer in the interval [0, 20]</br><input name = "overage" type = "text" />
</br></br><input name = "SqFt" type = "button" value = "Compute Square Feet " onclick = "ComputeSquareFeet()" />
</br></br><input name = "SqYd" type = "button" value = "Compute Square Yards" onclick = "ComputeSquareYards()" />
</br></br><input type = "reset" value = "Clear" />
</form>
<script type="text/javascript">
function ComputeSquareFeet()
{
var SqFt = (carpet.length.value*carpet.width.value);
carpet.SqFtResult.value = SqFt+(SqFt*(carpet.overage.value / 100));
document.write(SqFtResult);
}
function ComputeSquareYards()
{
var SqYd = ((carpet.length.value/3)*(carpet.width.value/3));
carpet.SqYdResult.value = SqYd+(SqYd*(carpet.overage.value / 100));
document.write(SqYdResult);
}
</script>
</body>
</html>
页面的工作方式如下,用户将数据输入3个框,按下按钮调用该函数,在该函数结束时执行document.write。然而,在做了一堆反复试验之后,我得出结论,我的公式正在运行并且函数被调用但是document.write由于某种原因不是。
关于我做错的任何想法?谢谢!
编辑:我有一个文本框,显示函数的结果只是为了确保它正常工作但是一旦我切换到document.write,似乎没有任何工作
答案 0 :(得分:1)
好像你需要把它写到一个新的HTML页面;例如,尝试使用您的文本调用以下函数:
function writeToNewPage(text) {
var newPage = window.open("", "New Page","width=400, height=300, scrollbars=1, resizable=1");
newPage.document.open();
newPage.document.write(text);
newPage.document.close();
}
您不能在不擦除整个页面的情况下在当前页面上使用document.write,并且分配问题似乎确实说了一个新页面。
答案 1 :(得分:0)
在我看来,问题不在于document.write
,而在于你从表单中获取数据的方式。
应该是这样的:
document.forms["formname"][fieldname].value;
同样要创建变量,请执行以下操作:
var SqYdResult=somthing;
希望有所帮助
答案 2 :(得分:0)
原来我已经超越了自己
function ComputeSquareFeet()
{
var SqFt = (carpet.length.value*carpet.width.value);
carpet.SqFtResult.value = SqFt+(SqFt*(carpet.overage.value / 100));
document.write(SqFtResult);
}
需要
function ComputeSquareFeet()
{
var SqFt = (carpet.length.value*carpet.width.value);
var SqFtResult = SqFt+(SqFt*(carpet.overage.value / 100));
document.write("Carpet needed in square feet: " + SqFtResult);
}
因为我没有声明变量,所以它不起作用。当我定义它时,我得到了我想要的结果。
谢谢大家的帮助!