2013-11-22 23 views
0

做一些HTML和JavaScript的東西,我似乎仍然站在這一點。 我所要做的就是執行一個簡單的計算器,並將結果顯示在新窗口中。使用javascript打開新窗口,但無法將結果放入新的HTML窗口文本框中。將無效點擊添加到新窗口Javascript

var totalarea是我需要添加到新窗口的值,它正在考慮將它置於HTMLstring + ='

\ n';地方

<html> 
<head> 
<title>Cross-Window HTML</title> 
<script type="text/javascript"> 

function newPage() { 
HTMLstring='<html>\n'; 
HTMLstring+='<head>\n'; 
HTMLstring+='<title>New Document</title>\n'; 
HTMLstring+='</head>\n'; 
HTMLstring+='<body>\n'; 
HTMLstring+='<p><input type="text" name="area" id="area"/> Is how much carpet you need         in feet.</p>\n'; 
HTMLstring+='</body>\n'; 
HTMLstring+='</html>'; 
newwindow=window.open(); 
newdocument=newwindow.document; 
newdocument.write(HTMLstring); 
newdocument.close(); 
} 

function ComputeSquareFeet() { 
var percent = .01; 
var num1 = +document.getElementById("length").value; 
var num2 = +document.getElementById("width").value; 
var num3 = +document.getElementById("allowance").value; 
var area = num1 * num2; 
var totalarea = (num3 * percent * area) + area; 
} 
function newfeetwin() { 
ComputeSquareFeet() 
newPage() 
} 
</script> 
</head> 
<body> 

<h1>Carpet Calculator</h1> 
<form name="userInputs"> 
<label for="lengths">Enter the length of your room in feet</label><br/> 
<input type="Text" name="length" id="length" size="7"><br/> 

<label for="widths">Enter the width of your room in feet</label><br/> 
<input name = "width" id="width" type="text"size="7"><br/> 

<label for="allowance">Typically an allowance is made for room irregularities and   unavoidable waste.<br/> 
Enter the percent overage as an integer in the interval [0, 20]</label><br/> 
<input name = "allowance" id="allowance" type = "text" /><br/> 


<input type="button" name="CalcSqFeet" id="area" value="Calculate Square Feet" onClick="newfeetwin()" /><br/> 

<br /> 
</body> 
</html> 
+0

功能* ComputeSquareFeet *需要的東西返回給調用者(* totalarea *似乎是恰當的),然後調用* NEWPAGE *需要包含該值,以便它可以在函數內部使用,例如'... ...' – RobG

回答

0

更改像

function newPage(totalarea) { 
HTMLstring='<html>\n'; 
HTMLstring+='<head>\n'; 
HTMLstring+='<title>New Document</title>\n'; 
HTMLstring+='</head>\n'; 
HTMLstring+='<body>\n'; 
HTMLstring+='<p><input type="text" name="area" id="area" value="'+totalarea+'"/> Is how much carpet you need         in feet.</p>\n'; 
HTMLstring+='</body>\n'; 
HTMLstring+='</html>'; 
newwindow=window.open(); 
newdocument=newwindow.document; 
newdocument.write(HTMLstring); 
newdocument.close(); 
} 

function ComputeSquareFeet() { 
var percent = .01; 
var num1 = +document.getElementById("length").value; 
var num2 = +document.getElementById("width").value; 
var num3 = +document.getElementById("allowance").value; 
var area = num1 * num2; 
var totalarea = (num3 * percent * area) + area; 
return totalarea; 
} 
function newfeetwin() { 
//ComputeSquareFeet() 
newPage(ComputeSquareFeet()) 
} 
0

你的職責應該返回從JavaScript函數的值,然後傳遞價值回答箱.. 改變你的JavaScript代碼如下所示。

<script type="text/javascript"> 

function newPage(dd) { 
HTMLstring='<html>\n'; 
HTMLstring+='<head>\n'; 
HTMLstring+='<title>New Document</title>\n'; 
HTMLstring+='</head>\n'; 
HTMLstring+='<body>\n'; 
HTMLstring+='<p><input type="text" name="area" id="area" value="'+dd+'"/> Is how much carpet you need         in feet.</p>\n'; 
HTMLstring+='</body>\n'; 
HTMLstring+='</html>'; 
newwindow=window.open(); 
newdocument=newwindow.document; 
newdocument.write(HTMLstring); 
newdocument.close(); 
} 

function ComputeSquareFeet() { 
var percent = .01; 
var num1 = +document.getElementById("length").value; 
var num2 = +document.getElementById("width").value; 
var num3 = +document.getElementById("allowance").value; 
var area = num1 * num2; 
var totalarea = (num3 * percent * area) + area; 
return totalarea; 
} 
function newfeetwin() { 
    var dd = ComputeSquareFeet() 
    newPage(dd); 
} 
</script> 

我覺得你有你想要什麼.. 歡呼聲..

相關問題