Я пытался создать онлайн-калькулятор - но увы, так и не осилил его. Всен в принципе работает, считает. Вот только при нажатии на "Распечатать счет" и "Распечатать смету" - выбрасывает ошибку и соответственно ни чего не происходит.
<meta content="text/html; charset=windows-1251" http-equiv="Content-Type" />
<script language="javascript" src="../upload/catalog/model/BuildCalc/ie6-fix.js"></script>
<script language="javascript" src="../upload/catalog/model/BuildCalc/page.js?version=1319653167"></script>
<link href="../upload/catalog/view/theme/default/stylesheet/style.css?version=1319653167" rel="StyleSheet" type="text/css" />
<link href="../upload/catalog/model/BuildCalc/pageContent.css?version=1319653167" rel="StyleSheet" type="text/css" />
<script language="javascript" src="../upload/catalog/model/BuildCalc/BuildCalc.js?version=1319653167"></script>
<link href="../upload/catalog/model/BuildCalc/BuildCalc.css?version=1319653167" rel="StyleSheet" type="text/css" />
<div class="content pageContent">
<p xmlns="">Тут описание калькулятора, мол что и для чего он нужен</p>
<form action="../upload/catalog/model/BuildCalc/Print" class="buildCalc" onsubmit="return false;" target="_blank"><input id="output-method" name="output-method" type="hidden" value="build-calc" />
<div class="buildCalcGroup">
<div class="star">
<div class="starContent"><a class="buildCalcGroupTitle" href="#" onclick="this.parentNode.parentNode.parentNode.className = this.parentNode.parentNode.parentNode.className == 'buildCalcGroup' ? 'buildCalcGroup buildCalcGroupShow' : 'buildCalcGroup'; return false;">Разборка<b> ↓</b><i> ↑</i></a></div>
</div>
<table>
<thead>
<tr>
<td class="buildCalcTd1">Вид работы</td>
<td class="buildCalcTd2">Цена, грн.</td>
<td class="buildCalcTd3">Ед. изм.</td>
<td class="buildCalcTd4">Кол-во</td>
<td class="buildCalcTd5">Сумма, грн.</td>
</tr>
</thead>
<tbody>
<tr>
<td class="buildCalcTd1">Разборка чего-либо</td>
<td class="buildCalcTd2">50</td>
<td class="buildCalcTd3">шт.</td>
<td class="buildCalcTd4"><input name="id" type="hidden" value="1" />
<input id="amount1" name="amount" onblur="this.value != '' || (this.value = 0);" onchange="!window.BuildCalc || BuildCalc.push('1', '40.00', this.value);" onfocus="this.value != 0 || (this.value = '');" type="text" value="0" /></td>
<td class="buildCalcTd5" id="sum1">0</td>
</tr>
</tbody>
</table>
</div>
<div class="buildCalcGroup">
<div class="star">
<div class="starContant"><a class="buildCalcGroupTitle" href="#" onclick="this.parentNode.parentNode.parentNode.className = this.parentNode.parentNode.parentNode.className == 'buildCalcGroup' ? 'buildCalcGroup buildCalcGroupShow' : 'buildCalcGroup'; return false;">Устройство<b> ↓</b><i> ↑</i></a></div>
</div>
<table>
<thead>
<tr>
<td class="buildCalcTd1">Вид работы</td>
<td class="buildCalcTd2">Цена, грн.</td>
<td class="buildCalcTd3">Ед. изм.</td>
<td class="buildCalcTd4">Кол-во</td>
<td class="buildCalcTd5">Сумма, грн.</td>
</tr>
</thead>
<tbody>
<tr>
<td class="buildCalcTd1">Устройство чего либо</td>
<td class="buildCalcTd2">100</td>
<td class="buildCalcTd3">шт.</td>
<td class="buildCalcTd4"><input name="id" type="hidden" value="1" />
<input id="amount1" name="amount" onblur="this.value != '' || (this.value = 0);" onchange="!window.BuildCalc || BuildCalc.push('1', '40.00', this.value);" onfocus="this.value != 0 || (this.value = '');" type="text" value="0" /></td>
<td class="buildCalcTd5" id="sum2">0</td>
</tbody>
</table>
</div>
<div class="buildCalcGroup">
<div class="star">
<div class="starContant"><a class="buildCalcGroupTitle" href="#" onclick="this.parentNode.parentNode.parentNode.className = this.parentNode.parentNode.parentNode.className == 'buildCalcGroup' ? 'buildCalcGroup buildCalcGroupShow' : 'buildCalcGroup'; return false;">Установка чего-либо<b> ↓</b><i> ↑</i></a></div>
</div>
<table>
<thead>
<tr>
<td class="buildCalcTd1">Вид работы</td>
<td class="buildCalcTd2">Цена, грн.</td>
<td class="buildCalcTd3">Ед. изм.</td>
<td class="buildCalcTd4">Кол-во</td>
<td class="buildCalcTd5">Сумма, грн.</td>
</tr>
</thead>
<tbody>
<tr>
<td class="buildCalcTd1">установка чего-либо</td>
<td class="buildCalcTd2">150</td>
<td class="buildCalcTd3">шт.</td>
<td class="buildCalcTd4"><input name="id" type="hidden" value="44" />
<input id="amount44" name="amount" onblur="this.value != '' || (this.value = 0);" onchange="!window.BuildCalc || BuildCalc.push('44', '180.00', this.value);" onfocus="this.value != 0 || (this.value = '');" type="text" value="0" /></td>
<td class="buildCalcTd5" id="sum3">0</td>
</tbody>
</table>
</div>
<div> </div>
<div id="buildCalcSum">ИТОГО: <span> … </span>грн.</div>
<button onmouseup="document.getElementById('output-method').value = 'build-calc'; this.parentNode.onsubmit = undefined;" type="submit">Распечатать смету</button>
<button onmouseup="document.getElementById('output-method').value = 'invoice'; this.parentNode.onsubmit = undefined;" type="submit">Распечатать счет</button></form>
</div>
При нажатии кнопки "печать" должно открыться новое окно и появится в очереди заданий печати на принтер. Что делаю не так и что я пропустил? Подскажите пожалуйста.
Посмотреть "работающий вариант" можно
тут.
Заранее благодарен.