2013-11-22 5 views
0

Выполнение некоторых HTML и javascript материалов, и я, кажется, стоит на месте в этом месте. Все, что мне нужно сделать, это выполнить простой калькулятор и получить результат и отобразить его в новом окне. Использовал javascript, чтобы открыть новое окно, но не имея проблем с получением результата и помещением его в новое текстовое окно окна HTML.Добавление var в новое окно 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> 

я думаю, что вы получили то, что вы хотите .. веселит ..

Смежные вопросы