HTML + Javascript document.write无效

时间:2015-07-12 05:34:25

标签: javascript html

所以我为夏令课做这个,我必须让这个地毯计算器在"执行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,似乎没有任何工作

3 个答案:

答案 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);
}

因为我没有声明变量,所以它不起作用。当我定义它时,我得到了我想要的结果。

谢谢大家的帮助!